
붙은 입자 떼어 내기
맞닿은 커피 입자를 떼어 낼까, 버릴까. 정답을 아는 가짜 사진으로 버리기·거리 분수령·coffeegrindsize 쪼개기·Cellpose-SAM·가짜로 배운 U-Net을 채점했다. 붙은 덩어리만 정확히 버려도 1.5 mm 넘는 입자는 93%가 빠져 부피 중앙값이 15% 작아졌고, 진짜 사진에서는 방법에 따라 부피 중앙값이 710~1,057 µm로 갈렸다.
지난 글에서는 정답을 아는 가짜 커피 사진으로 이 연재의 측정 알고리즘을 채점했다. 진짜를 닮게 만든 가짜에서 부피 중앙값이 33% 크게 나왔고, 그 오차의 대부분은 맞닿은 입자 두세 개가 한 덩어리로 잡히는 데서 왔다. 330 µm 이상 입자의 30%가 그렇게 이웃과 합쳐졌다.
붙은 덩어리를 다루는 길은 두 가지다. 갈라서 따로 재거나, 아예 세지 않고 버린다. 이번 글은 두 길을 모두 같은 가짜 사진으로 채점한다. 먼저 물을 것은 이것이다. 붙은 덩어리를 버리면 무엇이 같이 빠지나.
붙은 입자는 왜 문제인가
정지 화상 입도 분석의 국제 표준 ISO 13322-1은 이 문제를 측정 방법의 첫 조건으로 둔다. "측정은 떨어져 있는 입자에 대해 해야 한다는 것이 이 방법의 가장 중요한 요건이다. 제대로 나누지 않고 하나로 잰 맞닿은 입자는 오차를 만든다." 시료를 준비하는 절에서도 한 화면의 입자 수를 조절해 맞닿은 입자를 줄이라고 한다.
커피 가루가 붙는 데는 두 가지 이유가 있다. 하나는 종이 위에 뿌릴 때 우연히 닿는 것이다. 이것은 측정 문제다. 다른 하나는 가루가 원래 뭉쳐 있는 것이다. 멘데스 하퍼 등(2024)은 원두를 갈 때 생기는 정전기가 입자끼리 뭉치게 한다고 보고했다. 갈기 전 원두에 물을 아주 조금(1 g에 0.05 mL 미만) 묻히면 입자 크기 분포가 눈에 띄게 달라졌다. 뭉침이 줄어든 것이 이유의 하나였다. 이 가루로 내린 에스프레소는 농도가 15% 이상 높았다. 이렇게 뭉친 덩어리는 사진의 착시가 아니라 실제로 있는 물건이다.
이 글은 앞의 경우, 종이 위에서 우연히 맞닿은 입자를 다룬다. 가녜의 coffeegrindsize 설명서도 이 단계를 꼼꼼히 적어 두었다. 뿌린 뒤 너무 가까이 붙은 알갱이가 있는지 눈으로 살피고, 젓가락으로 떼어 놓거나 손가락으로 눌러 집어서 다시 뿌리라고 한다. 이때 집은 가루는 반드시 전부 다시 뿌려야 한다. 그렇지 않으면 "특정 크기의 입자를 골라서 빼게 되어 분포가 치우칠 수 있다"는 것이다.

그림의 오른쪽 아래처럼 정답 입자 여럿이 한 색으로 묶이면, 측정기는 그것을 큰 입자 하나로 기록한다.
버리면 무엇이 빠지나
가장 손쉬운 처방은 붙어 보이는 덩어리를 세지 않는 것이다. 그런데 이 처방이 얼마나 좋을 수 있는지부터 알아야 한다. 그래서 사진만 보고는 할 수 없는 일을 시켜 봤다. 정답을 아는 심판이 입자 둘 이상이 든 덩어리만 정확히 골라서 버린다. 잘못 버리는 일도, 놓치는 일도 없다. 버리기라는 방법이 낼 수 있는 가장 좋은 결과다.
그 결과 부피 중앙값은 정답보다 15% 작게 나왔다. 33% 크던 오차가 반대쪽으로 넘어간 것이다. 330 µm 이상 입자의 51%가 버려졌다.

크기마다 나눠 보면 이유가 보인다. 지름 330~450 µm 입자는 41%가 버려졌는데, 1.5~2.2 mm 입자는 93%가 버려졌다. 큰 입자일수록 둘레가 길어서 다른 입자가 닿을 자리가 많다. 큰 입자는 작은 이웃 하나만 달고 있어도 그 덩어리째 버려진다.
주황색 선과 비교하면 더 분명하다. 아무것도 버리지 않고 그대로 재면, 크기와 상관없이 20~30%의 입자가 '합쳐짐'으로 채점된다. 큰 입자는 작은 이웃을 달고 있어도 덩어리의 대부분을 자기가 차지하니까 '맞춤'으로 채점되는 일이 많다. 측정값이 조금 커질 뿐이다. 그런데 버리기는 그런 덩어리도 통째로 버린다. 오차를 조금 만들던 큰 입자가 아예 사라진다.
이것은 사진 측정에서 이미 알려진 문제와 같은 꼴이다. 사진 가장자리에 걸친 입자는 크기를 다 잴 수 없어서 보통 버리는데, 미국 표준기술연구소(NIST)의 화이팅 등(2019)은 "큰 입자일수록 가장자리 제외에 걸릴 확률이 높아서 측정한 분포가 크게 치우칠 수 있다"고 적었다. 그래서 그들은 크기마다 가장자리에 걸리지 않고 남을 확률을 계산해 분포를 되돌렸다. 가장자리는 위치가 정해져 있으니 남을 확률을 계산할 수 있다. 맞닿음은 가루를 뿌린 밀도와 무리 짓는 방식에 따라 달라지니 계산하기가 훨씬 어렵다.
볼록도로 버리기
사진만으로 붙은 덩어리를 고르는 흔한 방법은 볼록도다. 덩어리 넓이를 그것을 감싸는 볼록 다각형의 넓이로 나눈 값으로, 입자 여럿이 붙으면 사이가 움푹 들어가서 이 값이 낮아진다. 「지름이란 무엇인가」에서 모양 통계를 낼 때도 볼록도 0.85 미만인 덩어리를 뺐다.

문턱을 바꾸면 두 오차가 서로 반대로 움직인다. 문턱이 낮으면 붙은 덩어리가 남아서 크게 재고, 문턱이 높으면 큰 입자를 많이 버려서 작게 잰다. 0.85에서 −3%, 0.90에서 −5%로 정답 근처를 지나간다.
0.85에서 오차가 −3%라고 볼록도 버리기가 정확하다는 뜻은 아니다. 이 문턱에서도 큰 입자의 38%를 버리고, 6%는 합쳐진 채로 남는다. 버려서 생긴 '작게 재기'와 남은 덩어리의 '크게 재기'가 우연히 비슷한 크기로 맞섰을 뿐이다. 버려진 몫도 크기에 따라 다르다. 330~450 µm 입자는 30%, 1.5~2.2 mm 입자는 72%가 버려졌다.
이렇게 상쇄로 맞는 숫자는 조건이 바뀌면 흔들린다. 가녜 사진에서 오려 낸 진짜 입자를 붙여 만든 가짜(아래에서 설명한다)에서는 같은 문턱 0.85가 부피 중앙값을 12% 크게 쟀다.
떼어 내기 ① 거리 분수령
버리지 않고 가르는 방법 가운데 가장 오래된 것은 분수령(watershed)이다. 뵈셰와 랑튀주엘이 1979년에 기포 사진의 윤곽을 찾는 데 처음 썼다. 덩어리 안의 각 픽셀에서 가장자리까지의 거리를 재면, 입자 한가운데가 봉우리가 된다. 봉우리마다 씨앗을 두고 물을 채우듯 영역을 넓혀 가다가, 두 영역이 만나는 골짜기에 경계를 긋는다.
이 방법의 오래된 약점은 지나치게 잘게 가르는 것이다. 작은 요철까지 봉우리로 잡으면 한 입자가 여러 조각이 된다. 그래서 봉우리가 일정 높이(h) 이상 솟아야 씨앗으로 쓴다. 8편에서 쓴 값은 h = 1.5픽셀이었다.

h를 낮출수록 결과가 좋아졌다. h = 0.25픽셀에서 합쳐짐은 30%에서 17%로, 부피 중앙값 오차는 33%에서 10%로 줄었다. 걱정했던 지나친 쪼개기는 거의 없었다. h를 가장 낮췄을 때도 큰 입자 수의 1.5%만큼 부스러기가 생겼다.
그러나 h를 아무리 낮춰도 합쳐짐은 17% 밑으로 내려가지 않았다. 그림 가운데 칸의 왼쪽 아래 덩어리가 그런 예다. 각진 조각들이 서로 겹쳐 붙으면 거리 지도에 봉우리가 하나만 생긴다. 사이가 잘록하지 않으니 나눌 골짜기도 없다. 거리 분수령은 입자가 둥글고 살짝만 닿은 경우를 위한 방법이다.
떼어 내기 ② coffeegrindsize의 쪼개기
coffeegrindsize에는 밝기를 이용해 덩어리를 쪼개는 기능이 있다. 설명서는 이 기능을 "입자 가장자리 근처의 밝기 증가를 분석해, 사진에서 너무 가까이 붙은 입자가 둘 이상 든 덩어리를 걸러 낸다"고 설명한다. 코드를 직접 읽고 옮겨서 같은 가짜 사진으로 채점했다. 작동 방식은 이렇다.
- 문턱보다 어두운 픽셀 가운데 가장 어두운 픽셀을 씨앗으로 잡고, 거기에 이어진 픽셀을 한 무리로 본다
- 무리 안의 각 픽셀에서, 씨앗만큼 충분히 어두운 '핵' 픽셀까지 직선을 긋는다
- 그 길 위에서 밝기가 씨앗보다 많이 올라가는 곳(밝은 골짜기)이 있으면 그 픽셀은 이 입자가 아니라고 보고 받아들이지 않는다
중요한 점이 하나 있다. 받아들이지 않은 픽셀은 따로 떨어져 다른 입자가 되지 않는다. 코드는 무리의 픽셀을 받아들였든 아니든 모두 '이미 센 것'으로 표시한다(counted[iclust] = True). 그래서 씨앗 입자에 붙어 있던 이웃은 다음 차례에 자기 입자로 잡히지 못하고 사라진다. 설명서가 '거른다(reject)'고 쓴 그대로다. 떼어 내는 것이 아니라 지운다.

진짜를 닮은 가짜 세 장의 평균은 이랬다. 큰 입자의 24%가 여전히 합쳐졌고, 4%는 사라졌으며, 부피 중앙값은 25% 크게 나왔다. 아무것도 하지 않았을 때(33%)보다 조금 나을 뿐이다. 맞닿아 겹친 조각 사이에는 밝은 골짜기가 없어서 쪼개기가 일어나지 않는다.
뜻밖의 장점도 있었다. 맞춘 입자의 크기 치우침이 +6%에서 +0.7%로 줄었다. 흐린 가장자리의 반쯤 밝은 픽셀이 '밝은 골짜기'로 잡혀 깎여 나가기 때문이다. 8편에서 본 문턱의 치우침을 이 기능이 일부 고쳐 주는 셈이다. 그 대신 개수 중앙값이 1%밖에 틀리지 않는데 부피 중앙값은 25% 틀리는, 이상한 조합이 생긴다.
설명서는 이 기능이 느리다고 경고한다. 옮긴 코드로 2400 × 1800 사진 한 장에 30초쯤 걸렸다. 이 기능의 핵심 값 0.35는, 8편에서 봤듯이 두 그라인더의 사진을 눈으로 보며 0.07에서 0.2로, 다시 0.35로 바꿔 온 것이다.
떼어 내기 ③ 배운 모델
사람 손으로 규칙을 짜는 대신 정답이 있는 사진으로 모델을 학습시키는 방법도 있다. 두 가지를 시험했다.
Cellpose-SAM. 세포 사진 분할을 위해 만든 범용 모델이다. 스트링어 등(2021)의 Cellpose는 픽셀마다 '세포 중심으로 흘러가는 방향'을 예측하고, 그 흐름을 따라가서 같은 곳에 모이는 픽셀을 한 세포로 묶는다. 붙은 세포를 가르는 데 강하다. 파차리투 등(2025)은 여기에 메타의 Segment Anything(SAM) 영상 인코더를 붙여 사진 22,826장, 윤곽 334만 개로 다시 학습시켰다. 이 모델은 커피를 한 번도 본 적이 없다. 그대로 쓰되, 커피 입자가 검고 배경이 밝으니 사진을 반전시켰고, 입자 지름이 8픽셀쯤이라는 것만 알려 줬다. 이 크기를 알려 주지 않으면 큰 입자의 69~79%를 놓쳤다.
가짜로 배운 U-Net. 8편의 가짜 사진 생성기로 학습 자료를 만들었다. 다만 진짜 사진 한 장에 맞춘 값 그대로가 아니라, 가루 밀도(1~25%), 무리 짓기, 각진 정도, 흐림, 잡음, 밝기 얼룩, 배율을 넓게 흔들었다(도메인 무작위화). 이렇게 만든 1024 × 768 사진 240장으로, 픽셀마다 '입자인가'와 '입자 중심에 얼마나 가까운가'를 예측하는 작은 U-Net을 학습시켰다. 중심 쪽 예측값이 높은 곳을 씨앗으로 써서 분수령으로 가른다. 노트북의 RTX 3070으로 학습 자료를 만들고 학습시키는 데 30분쯤 걸렸다. 시험 사진은 학습에 쓰지 않은 씨앗으로 만들었다.
시험지를 바꿔 가며 채점하기
여기서 8편의 경고를 다시 떠올려야 한다. 가짜를 만든 가정과 알고리즘의 가정이 같으면 점수가 부풀려진다(역범죄). 가짜로 배운 U-Net은 가짜를 만든 생성기와 같은 집안에서 나왔으니 바로 그 위험을 안고 있다.
그래서 시험지를 세 가지로 만들었다.
- 진짜를 닮은 가짜: 8편의 생성기 그대로, 가녜 사진의 흐림·잡음·밀도(6.1%)에 맞춘 것
- 빽빽한 가짜: 같은 생성기로 종이의 15%를 덮은 것
- 진짜 입자를 오려 붙인 가짜: 생성기와 아무 연결이 없게 새로 만든 시험지. 가녜 사진에서 이웃과 4픽셀 이상 떨어진 덩어리 699개를 흐린 테두리째 오려 내서, 빈 종이에 무리 지어 다시 뿌렸다. 각진 다각형도, 가우스 흐림도 쓰지 않았다. 정답은 오려 낸 입자 하나하나의 넓이다
오려 붙인 가짜에도 한계가 있다. 이웃과 떨어져 있던 입자만 오려 냈으니, 앞에서 본 대로 큰 입자가 덜 뽑혔다. 오려 낸 입자의 지름은 1.34 mm를 넘지 않는다.

진짜를 닮은 가짜에서 세 장 평균을 낸 자세한 숫자는 이렇다.
| 맞춤 | 합쳐짐 | 버려짐·놓침 | 부피 중앙값 오차 | 개수 중앙값 오차 | |
|---|---|---|---|---|---|
| 그대로 | 70% | 30% | 0% | +33% | +8% |
| 정답을 아는 심판이 버리기 | 49% | 0% | 51% | −15% | −5% |
| 볼록도 0.85 미만 버리기 | 56% | 6% | 38% | −3% | −1% |
| 거리 분수령(h 0.5) | 82% | 18% | 0% | +12% | +8% |
| coffeegrindsize 쪼개기 | 72% | 24% | 4% | +25% | +1% |
| Cellpose-SAM | 68% | 8% | 25% | −4% | +6% |
| 가짜로 배운 U-Net | 88% | 11% | 1% | +2% | +1% |
U-Net은 세 시험지 모두에서 부피 중앙값을 5% 안으로 맞췄다. 생성기와 연결이 없는 오려 붙인 가짜에서도 −5%였다. 다만 그 시험지에서는 큰 입자 수의 8%만큼 부스러기를 만들었다. 진짜 입자의 테두리와 속 밝기는 학습한 가짜와 달랐고, 모델은 그런 입자 일부를 둘로 갈랐다.
Cellpose-SAM의 숫자는 조심해서 읽어야 한다. 부피 중앙값 오차는 −4%로 작지만, 큰 입자의 25%를 아예 찾지 못했다. 크기별로 보면 1.5~2.2 mm 입자는 70%를 놓쳤다. 크게 재는 쪽(합쳐짐 8%)과 작게 재는 쪽(큰 입자 놓침)이 서로 지워서 작은 오차가 나온 것이다. 빽빽한 가짜에서는 37%를 놓치고도 부피 오차는 −3%였다. 볼록도 버리기처럼, 숫자 하나만 보면 좋아 보이는데 속은 상쇄다. 오려 붙인 가짜에서는 놓침이 4%로 줄었다. 세포 사진으로 배운 모델에게는 매끈한 가우스 흐림보다 진짜 사진의 테두리가 더 익숙했던 것으로 보인다.
진짜 사진에서는
마지막으로 여섯 방법을 가녜 예시 사진 전체에 돌렸다. 진짜 사진에는 정답이 없으니 채점은 할 수 없다. 대신 방법마다 답이 얼마나 다른지 볼 수 있다.

같은 사진에서 부피 중앙값이 710 µm부터 1,057 µm까지 갈렸다. 1.5배 차이다. 가짜에서 가장 정확했던 U-Net이 가장 작은 값을 냈고, 덩어리도 2,793개로 가장 많이 셌다. 그대로 잰 덩어리 가운데 볼록도가 0.9 이상이라 한 입자로 보이는 것을, U-Net은 10%쯤 둘 이상으로 갈랐다. 거리 분수령에서 이 몫은 0.3%, Cellpose-SAM에서는 0%였다.
U-Net이 진짜 사진의 입자를 지나치게 쪼갠 것인지, 다른 방법들이 놓친 경계를 찾은 것인지는 이 사진만으로는 알 수 없다. 오려 붙인 가짜에서 부스러기를 만들었던 것을 보면 앞쪽일 가능성이 있다. coffeegrindsize 쪼개기는 진짜 사진에서 문턱 아래 픽셀의 14%를 버렸다. 진짜를 닮은 가짜에서는 13%, 오려 붙인 가짜에서는 24%였다.
방법 사이의 차이(1.5배)가 각 방법이 가짜에서 보인 오차보다 훨씬 크다. 가짜 시험지가 진짜를 아직 충분히 닮지 못했다는 뜻이다. 진짜 사진의 답을 정하려면 결국 크기를 아는 실물로 확인해야 한다.
직접 해 보기
아래 시뮬레이션에서 방법을 바꿔 가며 같은 사진이 어떻게 갈리는지 볼 수 있다. 왼쪽 그림은 덩어리를 조각마다 다른 색으로 칠한다. 버리거나 지운 부분은 보라색이다. '채점 윤곽'을 누르면 330 µm 이상 정답 입자의 윤곽이 맞춤(초록), 합쳐짐(주황), 버려짐(보라), 놓침(빨강)으로 칠해진다.
'볼록도로 버리기'에서 문턱 손잡이를 움직이면 버려지는 입자가 크기에 따라 어떻게 늘어나는지 아래 그래프에서 볼 수 있다. '정답 심판이 버리기'와 비교해 보자. '진짜 사진'으로 바꾸면 가녜 예시 사진의 한 부분에 같은 방법을 돌린 결과와 사진 전체의 중앙값이 나온다.
이 실험이 빠뜨린 것
- 원래부터 뭉친 덩어리는 다루지 않았다. 정전기로 뭉친 덩어리는 사진의 착시가 아니라 실제 물건이다. 추출에서 그 덩어리가 한 입자처럼 행동한다면 떼어 내지 않는 쪽이 맞을 수도 있다. 어느 쪽이 맞는지는 무엇을 알고 싶은지에 달렸다
- 미분이 큰 입자에 붙은 경우가 없다. 100 µm보다 작은 미분은 가짜에 그리지 않았다. 실제로는 미분이 굵은 입자에 붙어 그 입자를 조금 크게 만들고, 미분 자신은 개수에서 빠진다
- 오려 붙인 가짜도 진짜 사진 한 장에서 나왔다. 이웃과 떨어져 있던 입자만 오려서 큰 입자가 적고, 정답 윤곽도 편 밝기 0.5라는 문턱으로 정했다
- Cellpose-SAM은 크기 하나만 알려 주고 그대로 썼다. 커피 사진으로 다시 학습시키면 결과가 달라질 수 있다. 별 모양 다각형으로 입자를 그리는 StarDist 같은 다른 모델은 시험하지 않았다
- U-Net은 한 번만 학습시켰다. 학습 자료와 씨앗을 바꿔 가며 결과가 얼마나 흔들리는지는 보지 않았다
- 진짜 사진의 정답은 여전히 모른다. 방법마다 1.5배 다른 답 가운데 어느 것이 맞는지는 크기를 아는 실물로 확인해야 한다
정리
- 진짜를 닮은 가짜에서 그대로 재면 330 µm 이상 입자의 30%가 이웃과 합쳐지고, 부피 중앙값이 33% 크게 나온다
- 붙은 덩어리를 버리면 큰 입자부터 빠진다. 정답을 아는 심판이 붙은 덩어리만 정확히 버려도 330~450 µm 입자는 41%, 1.5~2.2 mm 입자는 93%가 버려져 부피 중앙값이 15% 작아진다. 큰 입자는 작은 이웃 하나만 달고 있어도 통째로 버려진다
- 볼록도 0.85 미만을 버리면 부피 중앙값 오차가 −3%까지 줄지만, 버린 몫과 남은 합쳐짐이 우연히 상쇄된 결과다. 진짜 입자를 오려 붙인 가짜에서는 같은 문턱이 +12%였다
- 거리 분수령은 h를 0.25픽셀까지 낮춰도 합쳐짐이 17% 남는다. 겹쳐 붙은 각진 조각에는 나눌 골짜기가 없다
- coffeegrindsize의 쪼개기는 붙은 이웃을 떼어 내지 않고 지운다. 합쳐짐은 30%에서 24%로 줄었고, 부피 중앙값은 25% 크게 나왔다
- 가짜로 배운 U-Net은 세 시험지 모두에서 부피 중앙값을 5% 안으로 맞췄다. Cellpose-SAM은 오차가 작았지만 큰 입자를 많이 놓쳐서 얻은 숫자였다
- 진짜 사진에서는 방법에 따라 부피 중앙값이 710~1,057 µm로 1.5배 갈렸다. 가짜에서 가장 정확했던 방법이 가장 작은 답을 냈다
붙은 덩어리를 버리는 것은 중립적인 선택이 아니다. 무엇을 버리는지를 크기별로 확인하지 않으면, 깨끗해 보이는 분포가 큰 입자를 잃은 분포일 수 있다.
참고문헌
- ISO 13322-1:2014. Particle size analysis — Image analysis methods — Part 1: Static image analysis methods — 4.2 d) 맞닿은 입자 수를 줄이도록 한 화면의 입자 수 조절, 5.2 떨어진 입자 측정이 가장 중요한 요건. 공식 샘플
- Méndez Harper J, et al. (2024). Moisture-controlled triboelectrification during coffee grinding. Matter 7(1), 266–283. doi:10.1016/j.matt.2023.11.005 (arXiv:2312.03103) — 정전기로 인한 입자끼리 뭉침, 물 0.05 mL/g 미만으로 분포 변화와 에스프레소 농도 15% 이상 증가
- Gagné J. coffeegrindsize. GitHub. 링크 — 설명서의 뭉침 흩기와 "특정 크기를 골라서 빼면 분포가 치우친다"는 경고,
coffeegrindsize.py의 쪼개기(def_reference_threshold = 0.4,def_maxcost = 0.35,nsmooth = 3, 거른 픽셀도 센 것으로 표시하는counted[iclust] = True) - Whiting JG, Tondare VN, Scott JHJ, Phan TQ, Donmez MA (2019). Uncertainty of particle size measurements using dynamic image analysis. CIRP Annals 68(1), 531–534. doi:10.1016/j.cirp.2019.04.075 — 큰 입자일수록 가장자리 제외에 걸려 분포가 치우치고, 크기별로 남을 확률로 보정
- Beucher S, Lantuéjoul C (1979). Use of watersheds in contour detection. International Workshop on Image Processing: Real-time Edge and Motion Detection/Estimation, Rennes. — 분수령의 첫 적용(기포 사진)
- Meyer F (2012). The watershed concept and its use in segmentation: a brief history. arXiv:1202.0216 — 지나친 쪼개기와 씨앗(마커) 분수령의 역사
- Vincent L, Soille P (1991). Watersheds in digital spaces: an efficient algorithm based on immersion simulations. IEEE Transactions on Pattern Analysis and Machine Intelligence 13(6), 583–598. doi:10.1109/34.87344
- Stringer C, Wang T, Michaelos M, Pachitariu M (2021). Cellpose: a generalist algorithm for cellular segmentation. Nature Methods 18, 100–106. doi:10.1038/s41592-020-01018-x
- Pachitariu M, Rariden M, Stringer C (2025). Cellpose-SAM: superhuman generalization for cellular segmentation. bioRxiv. doi:10.1101/2025.04.28.651001 — SAM 영상 인코더, 학습 사진 22,826장·윤곽 3,341,254개
- Schmidt U, Weigert M, Broaddus C, Myers G (2018). Cell Detection with Star-Convex Polygons. MICCAI 2018, 265–273. doi:10.1007/978-3-030-00934-2_30
- Frei M, Kruis FE (2020). Image-based size analysis of agglomerated and partially sintered particles via convolutional neural networks. Powder Technology 360, 324–336. doi:10.1016/j.powtec.2019.10.020 — 분수령은 잡음에 약해 지나치게 쪼개는 경향, 합성 사진만으로 학습
- Rühle B, Krumrey JF, Hodoroaba V-D (2021). Workflow towards automated segmentation of agglomerated, non-spherical particles from electron microscopy images using artificial neural networks. Scientific Reports 11, 4942. doi:10.1038/s41598-021-84287-6
- Ronneberger O, Fischer P, Brox T (2015). U-Net: Convolutional Networks for Biomedical Image Segmentation. MICCAI 2015. arXiv:1505.04597
- Tobin J, et al. (2017). Domain randomization for transferring deep neural networks from simulation to the real world. IROS 2017. arXiv:1703.06907
이미지 출처
- 모든 그림과 시뮬레이션: 직접 제작. 진짜 사진과 오려 붙인 가짜의 입자는 Jonathan Gagné의 coffeegrindsize 예시 사진(MIT 라이선스)에서 왔다. Cellpose-SAM 결과는 공개 모델 가중치를 그대로 써서 얻었다