본문 바로가기

ComputerVision4

Softmax 만으론 부족했다: 초음파 이미지 분류 문제를 다시 정의하다 시작하며;초음파 이미지 분류 모델을 개발하면서 내가 문제를 어떻게 정의하느냐에 따라 성능이 크게 달라질 수 있다는 사실을 깨달았다. 최초에 나는 이미지를 단일 클래스(single-class) 로 분류하도록 모델을 구성했다. 예를 들어, 이미지가 AC(복무 둘레), BPD(머리 둘레), FL(대퇴 길이) 등 특정 부위를 나타내는 경우, 해당 부위 하나만 예측했다. 하지만 이렇게 구성했을 때, 모델의 예측 정확도는 완벽하지 않았다. 그래서 HNL 을 수행했었다. 일종의 오답 노트 학습처럼, 잘못 분류한 클래스에 집중해서 보완했다. 하지만 다양한 사례를 살펴보면서, 예상하지 못한 경우를 정말 많이 마주쳤다. 결국 이 문제는 단일 클래스가 답이 아니라, 멀티 클래스 구조로 바꿔서 각 클래스 간 확률을 비교하게 .. 2025. 7. 12.
딥러닝 이미지 분류: 클래스 세분화의 함정 시작하며;초기에는 초음파 영상이 입체인지 아닌지를 구분하는 것이 핵심 과제였다. 하지만 새로운 서비스 준비와 함께, 이미지 분류 기준을 보다 정교하게 세분화할 필요성이 생겼고, 이는 애초에 내가 지향했던 방향이기도 하다. 단순히 입체 여부를 판단하는 것을 넘어, 영상에 어떤 성장 지표가 (예: AC, BPD, FL) 포함되어 있는지를 구체적으로 분류하고 싶었다. 수많은 시행착오 끝에 구조가 또렷이 보이는 이미지는 ac, bpd, fl 등 긍정 클래스로, 구조 식별이 어려운 이미지는 부정 클래스로 나눠 학습시켰다. 여기서 핵심 기준은 영상 내 십자가 모양의 마커와 (marker) 어노테이션의 (annotation) 존재 여부다.마커와 어노테이션 모두 있는 경우 → 긍정 클래스로 분류 (ac, bpd, fl.. 2025. 7. 2.
초음파 영상 분류, BPD 만으로는 부족했다 시작하며;현재 ResNet18 모델을 활용하여 초음파 영상을 프레임 단위로 추출해서 각 프레임을 특정 카테고리(클래스)로 분류하는 작업을 진행하고 있다. 작업 초기에는 초음파 영상에서 BPD(Biparietal Diameter, 양두정경)와 UNKNOWN(알 수 없는 경우) 두 가지로만 분류했다. 이 방식은 단순하면서도 빠르게 결과를 도출할 수 있었고, 실제로도 내가 의도한 대로 BPD 이미지가 상당히 잘 분류되었다. 하지만 점차 데이터가 쌓이고 모델의 예측 결과를 면밀히 분석하면서 문제가 보이기 시작했다. 복부 둘레(AC, Abdominal Circumference)나 머리 둘레(HC, Head Circumference) 등이 BPD 로 잘못 분류되는 경우가 많았다. 이들 역시 초음파 영상에서 BPD .. 2025. 2. 22.
ResNet18 로 초음파 영상 똑똑하게 분석하기 시작하며;초음파 영상에서 두정골 직경 (Biparietal Diameter, 이하 BPD)을 측정하기 위해 이미지 분석을 진행했다. 하지만 그 이전 단계에서, 먼저 영상을 프레임 단위로 나누는 과정이 필요했다. 영상은 짧게는 3~10분, 길게는 30분 이상까지 존재하는데, 단순히 프레임을 모두 추출하면 30분 영상의 경우 6만 장이 넘는 이미지가 생성된다. 이렇게 많은 이미지에서 BPD 를 측정하기 위해 스케일 바를 탐색하고 ROI(관심 영역)를 찾는 과정은 비효율적일 것 같았다. 그래서 프레임 추출 단계에서 이미지 전처리를 최대한 진행하면 불필요한 데이터를 줄이고 분석 효율을 높일 수 있을 거라고 판단했다. 이를 위해 특정 기준을 설정해 프레임을 선별하는 방식을 시도했다. 예를 들어, 영상 내에서 십자.. 2025. 2. 6.