Maximum-Likelihood Expectation-Maximization

2025. 11. 10. 15:01·정리필요./PET, MRI and so on.
728x90
728x90

https://www.openaccessjournals.com/articles/image-reconstruction-for-petct-scanners-past-achievements-and-future-challenges-11017.html

 

PET에서의 MLEM은 Poisson 통계 모델에서의 MLE를 EM 알고리즘으로 푸는 것임.

  • FBP에 비해, 느리지만 Poisson noise 억제에 강함
  • OSEM, MAP-EM 등으로 속도 및 성능 개선 가능

2023.10.25 - [.../Math] - [Math] Poisson Distribution (포아송분포)

 

[Math] Poisson Distribution (포아송분포)

Poisson Distribution이란?아주 가끔 일어나는 사건(trial)에 대한 확률 분포 : 방사선 검출에 주로 사용되는 확률분포라 의료영상에서는 매우 많이 사용됨. 몇가지 예를 들면 다음과 같음:전체 인구수

dsaint31.tistory.com


Poisson Likelihood 모델 설정

각 검출기 $i$에서의 측정값 $y_i$ 는 포아송 분포를 따른다고 가정:

$$y_i \sim \text{Poisson} \left( \hat{y}_i = \sum_j p_{ij} \lambda_j \right)$$

이때 전체 log-likelihood 함수는 다음과 같음:

$$\log \mathcal{L}(\boldsymbol{\lambda}) = \sum_i \left[ y_i \log \left( \sum_j p_{ij} \lambda_j \right) - \left( \sum_j p_{ij} \lambda_j \right) - \log y_i! \right]$$

참고로 $\log y_i!$는 $\lambda_j$ 에 독립이므로 생략 가능함.

이를 통해 다음의 miximization problem으로 정의할 수 있음:

$$\underset{\boldsymbol{\lambda} \geq 0}{\text{maximize}} \quad Q(\boldsymbol{\lambda}) = \sum_i \left[ y_i \log \left( \sum_j p_{ij} \lambda_j \right) - \sum_j p_{ij} \lambda_j \right]$$

  • 이는 utility function이므로 최대화를 수행.

EM 방식으로는 다음 surrogate function을 최대화!: 이 과정은 Jensen's inequality에 기반

$$\lambda_j^{k+1} = \lambda_j^k \cdot \frac{1}{\sum_i p_{ij}} \sum_i p_{ij} \cdot \left( \frac{y_i}{\sum_{j'} p_{ij'} \lambda_{j'}^k} \right)$$

요약하면 다음과 같음:

  • objective function : $\log \mathcal{L}(\boldsymbol{\lambda})$
  • 최적화 방법: Expectation-Maximization (EM)
  • solution update equation: multiplicative update (양수 유지 보장)
  • 정규화 항: $\sum_i p_{ij}$ - sensitivity normalization

2022.06.02 - [.../Math] - [ML] Likelihood (우도, 기대값)

 

[ML] Likelihood (우도, 기대값)

Likelihood (우도) : 더보기likelihood는 probability처럼 가능성을 나타낸다는 비슷한 측면도 있으나 다음과 같은 차이가 있음.probability처럼 likelihood는 상대적 비교는 가능 (즉, likelihood가 클수록 해당 even

dsaint31.tistory.com


Mimum Likehood Expection Miximization 수식 **

$$
\lambda_j^{k+1} = \frac{\lambda_j^k}{\sum_i p_{ij}} \sum_i p_{ij} \cdot \left( \frac{y_i}{\sum_{j'} p_{ij'} \lambda_{j'}^k} \right)
$$

where,

  • $\lambda_j^k$ : $k$번째 iteration(반복)에서 픽셀 $j$에 대한 이미지 추정값
  • $y_i$ : $i$번째 검출기에서의 측정값 (projection bin data, sinogram)
  • $p_{ij}$ : system matrix(시스템 행렬)의 요소. 픽셀 $j$가 검출기 $i$에 기여하는 정도
  • $\sum_{j'} p_{ij'} \lambda_{j'}^k $ : $i$ 검출기에 대한 예측값 - $\hat{y}_i$

MLEM - Iterative Reconstruction

위의 수식은 MLEM 알고리즘의 업데이트 식임:

1.예측 측정값 계산 (forward projection):

$$\hat{y}_i = \sum_{j'} p_{ij'} \lambda_{j'}^k$$

2.실제와 예측의 비율 계산:

$$\frac{y_i}{\hat{y}_i}$$

3.백프로젝션 수행:

$$\sum_i p_{ij} \cdot \left( \frac{y_i}{\hat{y}_i} \right)$$

4.정규화 후 업데이트:
$$\lambda_j^{k+1} = \lambda_j^k \cdot \frac{1}{\sum_i p_{ij}} \sum_i p_{ij} \cdot \left( \frac{y_i}{\hat{y}_i} \right)$$

 

https://gist.github.com/dsaint31x/5a46553d69055b93dcacc249c043bef5

 

pet_mlem_simul.ipynb

pet_mlem_simul.ipynb. GitHub Gist: instantly share code, notes, and snippets.

gist.github.com


Note:

  • Poisson likelihood 기반임! (측정치는 counter의 결과이므로 항상 양의 정수로)
  • 분자: 측정값과 예측값의 비율
  • 분모: 픽셀별 시스템 응답의 총합으로 정규화
  • 음수 없음, 수렴 보장 (단, 느림)
  • forward / backward projection 반복 구조

같이보면 좋은 자료

2025.09.01 - [정리필요./PET, MRI and so on.] - Radon Transform and Inverse Radon Transform-FBP

 

Radon Transform and Inverse Radon Transform-FBP

정의Radon Transform(라돈 변환)은n차원 함수 $f(\textbf{x})$를 : ($\textbf{x}$는 n차원 vector임)$(n-1)$차원 hyperplane(초평면)에 대해projection integral(투영적분)한 값을 나타내는 transform(변환)이를 2D와 3D의 경우

dsaint31.tistory.com

 

728x90

'정리필요. > PET, MRI and so on.' 카테고리의 다른 글

Scintillator (섬광체)  (0) 2025.11.10
Screen-film Radiography (X-ray): Radiographic Film + Intensifying screen  (0) 2025.09.03
Radiation Intensity  (0) 2025.09.03
Radon Transform 의 간단한 예제 - MATLAB  (0) 2025.09.02
Radon Transform and Inverse Radon Transform-FBP  (1) 2025.09.01
'정리필요./PET, MRI and so on.' 카테고리의 다른 글
  • Scintillator (섬광체)
  • Screen-film Radiography (X-ray): Radiographic Film + Intensifying screen
  • Radiation Intensity
  • Radon Transform 의 간단한 예제 - MATLAB
dsaint31x
dsaint31x
    반응형
    250x250
  • dsaint31x
    Dsaint31's blog
    dsaint31x
  • 전체
    오늘
    어제
    • 분류 전체보기 (789)
      • Private Life (16)
      • Programming (55)
        • DIP (116)
        • ML (35)
      • Computer (121)
        • CE (55)
        • ETC (33)
        • CUDA (3)
        • Blog, Markdown, Latex (4)
        • Linux (9)
      • ... (368)
        • Signals and Systems (115)
        • Math (176)
        • Linear Algebra (33)
        • Physics (43)
        • 인성세미나 (1)
      • 정리필요. (61)
        • 의료기기의 이해 (6)
        • PET, MRI and so on. (7)
        • PET Study 2009 (1)
        • 방사선 장해방호 (5)
        • 방사선 생물학 (3)
        • 방사선 계측 (9)
        • 기타 방사능관련 (3)
        • 고시 (9)
        • 정리 (18)
      • RI (0)
      • 원자력,방사능 관련법 (2)
  • 블로그 메뉴

    • Math
    • Programming
    • SS
    • DIP
  • 링크

    • Convex Optimization For All
  • 공지사항

    • Test
    • PET Study 2009
    • 기타 방사능관련.
  • 인기 글

  • 태그

    function
    Probability
    opencv
    numpy
    인허가제도
    ML
    Programming
    Vector
    signal_and_system
    SS
    cv2
    fourier transform
    Optimization
    Python
    math
    random
    Term
    SIGNAL
    signals_and_systems
    linear algebra
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
dsaint31x
Maximum-Likelihood Expectation-Maximization
상단으로

티스토리툴바