이미지 처리 문제가 있습니다. PyMC3에 대해 더 많이 배우고 실험 해 볼 수 있다고 생각했습니다. 저는 비선형 솔버와 무차별 방식으로 시간을 들여서 많은 시간을 보냈습니다. 지금까지 아무 것도 나를 행복하게하지 못합니다.PyMC3을 사용한 다중 이미지 처리
내가 가진 문제는 동일한 장면의 두 이미지를 공동 등록하지만 다른 방식으로 기록하는 복잡한 방법이 관련되어 있습니다. 일반적인 흑백의 가시 이미지를 열 적외선 이미지와 일치 시키려고 생각하십시오. 또는 의료 영상의 관점에서 MRI 데이터와 X 선 데이터를 일치시키려는 시도를 생각해보십시오.
def process_and_compare(image_src, image_dst, parameters):
"""
Parameters
----------
image_src : 2D array
image_trg : 2D array
parameters : sequence of 7 scalars defining image transform
Output
------
metric : Scalar value indicating how well the transformed source image
matches up with the target image.
"""
image_src_warp = image_warper(image_src, parameters)
metric = compare_two_images(image_src_warp, image_trg)
return metric
이 기능은 입력이 개 이미지를 모델 매개 변수의 벡터로 취
그냥 나는 다음과 같은 기능을 가진 내 데이터 처리 작업 흐름을 나타낼 수있는, 단순하게 유지합니다. 내부에서 복잡한 계산이 발생합니다. 완료되면 모델 (매개 변수 벡터에 의해 단독으로 정의 됨)이 두 이미지를 얼마나 잘 정렬 하는지를 나타내는 스칼라가 반환됩니다. 원본 이미지의 뒤틀림이나 두 이미지의 비교 방법에 대한 자세한 내용은 지금은 블랙 박스입니다. 결국 궁극적으로 내가 원하는 기본 결과는 모델에 해당하는 뒤틀린 이미지이며 최상의 결과를 얻습니다. 그러나 지금도 알고리즘으로 놀고있는 동안, 간단한 테스트 케이스 이미지에 대한 모델 매개 변수의 사후 분포를 시각화하여 많은 것을 배울 수 있다고 생각합니다. 처음에는 PyMC가 이것을 쉽게 만들 수 있다고 생각했지만 일단 실제 구현 세부 사항을 살펴 보았 더니 조금 혼란스러워졌습니다.저는 토머스 Wiecki가 최근에 PyMC3 presentations을 보았습니다. Cam Davidson-Pilon으로 많은 위대한 온라인 서적을 읽었습니다. 지금까지 PyMC3 대 PyMC2의 위대한 신기능은 (부분적으로) snakey 모델 사양 syntax이고 가속 처리를위한 Theano의 자동 사용이라는 것을 알게되었습니다.
지금까지 본 예제에서 데이터 모델은 새로운 구문 시스템을 사용하여 완전히 지정되는 것처럼 보입니다. 하지만 제 경우에는이보다 복잡한 기능이 있습니다.
여기 내 질문은 :
은 누군가가 나는 사용자 함수로 구현 된 블랙 박스 데이터 모델을 포함하는 기존 PyMC 예를 가리 수 있습니까? PyMC2 또는 PyMC3 중 하나가 좋습니다!
일단 PyMC3에서이 작업을 수행하는 방법을 알아 내면 Theano의 장점을 내 Python 데이터 모델 기능에 구현할 수 있습니까?