2.6.1 Giới thiệu
Hợp nhất ảnh nói chung nhằm mục đích điều chỉnh sự biến đổi khác nhau giữa các ảnh đầu vào bằng cách sắp xếp chúng sao cho thông tin của các điểm ảnh là tương ứng với nhau. Với hai ảnh đầu vào gồm ảnh tham chiếu (R) và ảnh mục tiêu (T), phép hợp nhất là việc tìm sự thay đổi phù hợp giữa R và T. Để tổng quát hóa cách tiếp cận này, giả sử hình ảnh trong không gian d-chiều được cho bởi ánh xạ: R,T: , với = [0,1]d. Nói cách khác, với mỗi điểm
, giá trị T(x) cường độ hoặc mức xám của x. Bởi vậy, mục đích của việc hợp nhất là tìm được trường biến đổi u:Rd dsao cho T(x – u(x)) = R(x) hoặc
T(x – u(x)) xấp xỉ với R(x). Lúc này bài toán trở thành tìm trường biến đổi u = (u1, u2, …., ud) cho phù hợp. Hợp nhất được chia thành 2 loại: phép hợp nhất biến đổi ảnh mục tiêu ao cho tương ứng với ảnh tham chiếu được gọi là hợp nhất tiến (forward registration); phép hợp nhất biến đổi ảnh tham chiếu để tương ứng với ảnh mục tiêu được gọi là hợp nhất lùi (backward rgistration). Ngoài ra, tùy thuộc vào kỹ thuật mà việc hợp nhất có thể dựa trên một tập hợp các điểm có cùng tính chất (các mốc cơ ở) hoặc được thực hiện trực tiếp trên từng giá trị mức xám. Trong [5] trình bày kỹ thuật thứ hai bởi nó linh hoạt hơn. Hầu hết các kỹ thuật hợp nhất này sử dụng một hàm hợp nhất [5] như au:
Trong đó:
D là ph p đo khoảng cách;
S là hàm tỷ lệ độ mịn của (tỷ lệ giữa 2 điểm ảnh trong 1 ảnh); α là tham ố để cân bằng D và S;
42
Trong phương trình này, giá trị biến đổi u cần tìm phải làm cho hàm hợp nhất đạt giá trị nhỏ nhất.
Kỹ thuật hợp nhất biến dạng cong được B.Fishervà J. Modersitzki đưa ra vào năm 2004 cùng với hai kỹ thuật hợp nhất khác được trình bày trong [5]
Kỹ thuật này thực hiện hợp nhất hai lát cắt đã cho ử dụng ph p đo khoảng cách SSD và hàm tỷ lệ S tính theo công thức biến dạng cong [5] au đó lát cắt trung gian được tính toán bằng cách tính trung bình cường độ của hình ảnh đã hợp nhất với lát cắt mục tiêu ban đầu.
2.6.2 Phương ph p
Mô hình được cho bởi công thức (2.32) được gọi là mô hình đơn hướng (single direction model) bởi vì lát cắt tham chiếu là cố định, chỉ có lát cắt mục tiêu thay đổi. Điều này gây nên sự bất đối xứng trong kết quả nếu như chúng ta cố định lát cắt mục tiêu và thay đổi lát cắt tham chiếu (hợp nhất lùi), kết quả có thể không chính xác ứng với hợp nhất tiến.Vì lý do này, công thức cải tiến cho phép hợp nhất hai lát cắt ảnh y tế được đề xuất trong [24] như au:
Trong đó:
R là hai lát cắt đầu vào; = [0,1]2 là miền giá trị của ảnh;
x là điểm ảnh cụ thể
u là giá trị biến đổi cho mỗi điểm ảnh để thu được ảnh hợp nhất.
Chú ý rằng trong công thức (2.33), giả định lát cắt được nội suy, ký hiệu là R, nằm ở giữa hai lát cắt đầu vào. Nếu R là một lát cắt bất kỳ giữa hai lát cắt ban đầu thì trước hết chúng ta cần tính khoảng cách từ R đến R1 và R2, lần lượt ký hiệu là d1 và d2; au đó tính giá trị r = d1 / (d1 + d2) và công thức au được đưa ra để tính toán lát cắt nội suy R:
Không mất tính tổng quát, chúng ta sử dụng công thức (2.33). Một số ph p đo khoảng cách D đã được đề xuất trong các tài liệu khác nhau, trong [24]
43
sử dụng ph p đo SSD (Sum of Squared Differences) và D được cho bởi công thức như au:
Với tỷ lệ độ mịn S, kỹ thuật này sử dụng công thức tính biến dạng cong:
Và điều kiện biên Neuman [5] được cho bởi:
Trong đó:
∆ là toán tử biến dạng cong và được tính toán dựa trên kích thước của hai ảnh lát cắt đầu vào và tích phân được tính trên miền giá trị của ảnh. Như trong [4] đã trình bày, việc áp dụng công thức biến dạng cong cho hàm tỷ lệ độ mịn cần phải thực hiện phép biến đổi affine trước khi thực hiện hợp nhất.
Để giảm thiểu các bước tính toán, trong [24] đề xuất tính đạo hàm Gateaux của E(u) và cho nó bằng 0 nhằm mục đích tìm ra được điểm nhỏ nhất, phương trình Euler-Lagrange PDE có thể thu được như au:
Trong đó:
;
Xử lý công thức PDE này, một kỹ thuật lặp theo thời gian được thực hiện như au:
với u0 = 0. Để thực hiện phương trình (2.37), trong [5] định nghĩa một bước thời gian như au:
44
Với n:= n1, n2 là các điểm trên ma trận
Thêm vào đó có: Các dẫn xuất được xấp xỉ bằng cách:
đây ph p (*) thể hiện phép tích chập liên quan đến điều kiện biên Neuman [5] với công thức:
Trong đó: là láng giềng của j, j phụ thuộc vào việc lựa chọn mẫu
với được định nghĩa theo [5] như au:
45
Lấy xấp xỉ sai phân hữu hạn của đạo hàm theo thời gian và cũng có thể thu thập lưới điểm theo thứ tự từ điển, chúng ta có được công thức rời rạc hóa của công thức (2.37) như au:
, l = 1,2 (2.39)
Trong đó In là ma trận cường độ và Acurv = (Adiff,d)2 với Adiff,d được định nghĩa như au:
Sau khi hoàn thành quá trình tối ưu hóa này, thực hiện tính trung bình giá trị cường độ của hai lát cắt sinh ra bởi phép hợp nhất để thu được lát cắt nội suy trung gian.
2.6.3 Nhận xét
Kỹ thuật nội suy dựa trên hợp nhất biến dạng cong cải tiến được cho là kỹ thuật nội suy mới (được đề xuất vào tháng 3 năm 2014), theo đó như kết luận trong [24], kỹ thuật này cho kết quả tốt hơn bởi tư tưởng là biến đổi cả hai lát cắt đầu vào theo tiêu chí tạo ra được hai lát cắt mới với các điểm ảnh được xác định tương ứng với nhau.
Thuật toán được thực hiện với các bước tính toán dựa trên phép nhân Kronecker (nhân một ma trận với ma trận đường chéo). Phép toán này có thể được thực hiện một cách hiệu quả bằng cách biến đổi cosin rời rạc (DCT – Discrete Cosin Transform), do đó độ phức tạp của thuật toán ở mức O(nlogn).
2.7 Kỹ thuật nội suy bằng h x ịnh ểm ảnh tương ứng 2.7.1 Giới thiệu
Kỹ thuật này được cho là kỹ thuật nội suy dựa trên đối tượng đầu tiên được Goshtasby và cộng sự [8] đề xuất vào năm 1992. Nhóm tác giả đã ử dụng phương pháp tiếp cận dựa trên cường độ và gradient của điểm ảnh để xác định các điểm ảnh tương ứng trên lát cắt tham chiếu và lát cắt mục tiêu, au đó thực hiện nội suy tuyến tính để tìm lát cắt trung gian ở giữa.
46
2.7.2 Phương ph p
Bài toán được đưa về dạng với mỗi điểm ảnh trên lát cắt tham chiếu, tìm điểm ảnh được cho là tương ứng với nó trên lát cắt mục tiêu dựa trên giá trị cường độ và gradient của điểm ảnh đó. Cụ thể bài toán được mô tả với đầu vào, đầu ra như au:
Đầu vào: Lát cắt mục tiêu (target slice) I(x,y); lát cắt tham chiếu
(reference slice) I (x ,y ); giá trị ngưỡng biên độ gradient tg; bán kính tìm kiếm điểm ảnh tương ứng w; các giá trị trọng số u1, u2, u3 và u4.
Đầu ra: thành phần x và y của hàm biến đổi fx và fy mà mỗi điểm {fx(x ,y ), fy(x ,y )} trên lát cắt mục tiêu tương ứng với điểm (x,y) trên lát cắt tham chiếu.
Các bước thực hiện của thuật toán xác định điểm ảnh tương ứng được mô tả như sau:
Bước 1: Xác định giá trị độ lớn và hướng gradient của lát cắt tham chiếu, lát cắt mục tiêu tương ứng: D(x,y), , D(x’,y’),
Bước 2: Với mỗi điểm ảnh (x ,y ) trên lát cắt tham chiếu với giá trị độ lớn gradient D’(x’,y’) > tg, xác định điểm ảnh (x,y) tương ứng trên lát cắt mục tiêu thông qua 2 bước 2.1 và 2.2 như au:
2.1) Xác định cửa sổ với điểm trung tâm tại (x’,y’) và bán kính w
trên lát cắt mục tiêu, và với mỗi điểm ảnh (x,y) có D(x,y) >tg trên cửa sổ, tính giá trị độ lớn gradient C(x,y,x ,y ) theo công thức 2.40 như au:
(2.40)
Điểm tương ứng (x,y) trên lát cắt mục tiêu được xác định là điểm có giá trị độ lớn gradient nhỏ nhất trong cửa sổ.
47
2.2) Xác định độ chênh lệch theo trục tung và trục hoành của những điểm ảnh tương ứng trên lát cắt và sử dụng bộ lọc trung bình các thành phần chênh lệch để có sự điều chỉnh phù hợp. Bước 3: Lặp lại bước 2 bằng cách dịch chuyển đến các điểm ảnh
khác trên 2 lát cắt ban đầu. Quá trình dịch chuyển có thể xảy ra trường hợp điểm tìm được là không tương ứng, khi đó cần loại bỏ những điểm này, chỉ giữ lại những điểm tương ứng trên lát cắt mục tiêu.
Bước 4: Với những điểm ảnh có giá trị độ lớn gradient nhỏ hơn hoặc bằng ngưỡng tg hoặc những điểm không tương ứng đã loại bỏ ở bước 3, thay thế chúng bằng cách nội suy song tuyến từ những điểm ảnh lân cận.
Như vậy, au khi tính toán được từng cặp điểm tương ứng trên hai lát cắt, thực hiện tính trung bình cường độ điểm ảnh của chúng để thu được lát cắt nội suy trung gian.
2.7.3 Nhận xét
Theo [8] đánh giá, do độ tin cậy của quá trình xác định điểm tương ứng phụ thuộc vào tính chất của từng loại ảnh khác nhau nên quá trình này cần có các thông số có thể điều chỉnh được cho phù hợp với từng loại ảnh. Kỹ thuật xác định điểm tương ứng ở trên có các tham số cường độ, gradient và sự khác biệt hình học giữa các ảnh có thể điều chỉnh được. Thuật toán sử dụng ngưỡng biên độ gradient tg để tránh quá trình xác định điểm tương ứng bị chồng lấn lên nhau. Với những yêu cầu trên, ảnh chụp cắt lớp CT và ảnh chụp cộng hưởng từ MRI có thể sử dụng kỹ thuật này để tạo lát cắt trung gian.
Đối với các loại ảnh này, khi gradient được tính bởi không gian 2 chiều 2x2, thống kê được có 20-40% điểm ảnh có biên độ gradient lớn hơn 5. Thông thường, quá trình nối các điểm có biên độ gradient quá nhỏ nên tránh vì chúng thường nằm trong vùng đồng nhất trong ảnh. Kết quả thực nghiệm trong [3] chứng tỏ rằng tg không được nhỏ hơn 4.
48
Tar get Slice Refere nce Slice
CHƯƠNG 3: CHƯƠNG TRÌNH THỬ NGHIỆM
Nội dung của chương này phát biểu cụ thể bài toán nội suy lát cắt trung gian từ hai lát cắt đã có. Các bước triển khai thực nghiệm hai kỹ thuật nội suy tuyến tính và nội suy dựa trên biến dạng cong cải tiến. Phần cuối của chương là một số hình ảnh thực nghiệm cũng như đánh giá hai kỹ thuật đã cài đặt dựa vào công thức tính hệ số lỗi giữa lát cắt nội suy sinh ra và lát cắt gốc.
3.1 Phát biểu bài toán
Bài toán nội suy lát cắt trung gian được mô tả như au:
Đầu vào: hai lát cắt theo thứ tự liên tiếp gồm lát cắt tham chiếu (reference slice) và lát cắt mục tiêu (target slice).
Đầu ra: lát cắt trung gian được tính toán dựa trên hai lát cắt ban đầu bằng kỹ thuật nội suy. Như đã trình bày trong chương 2, luận văn này tập trung vào hai kỹ thuật nội suy: nội suy tuyến tính và nội suy dựa trên hợp nhất biến dạng cong cải tiến đại diện cho hai nhóm nghiên cứu chính trong lĩnh vực nội suy lát cắt trung gian.
Hình 3.1: Hai lát cắt liên tiếp và những lát cắt trung gian có thể được tạo ra21
Hình 3.1 thể hiện hai lát cắt liên tiếp trong đó lát cắt phía trên được gọi là
lát cắt tham chiếu (reference slice) và lát cắt phía dưới là lát cắt mục tiêu (target slice). Để thiết lập được mô hình 3D gần với thực tế nhất, một số lượng thích
21
49
hợp lát cắt trung gian được tạo ra giữa lát cắt tham chiếu và lát cắt mục tiêu. Để tạo ra lát cắt trung gian, với mỗi điểm trên lát cắt tham chiếu cần xác định điểm trên lát cắt mục tiêu tương ứng với nó. Ví dụ như trong hình 3.1, điểm A là điểm trên lát cắt tham chiếu, điểm B là điểm ứng với nó trên lát cắt mục tiêu. Phụ thuộc vào kỹ thuật nội suy, lát cắt trung gian được xác định bằng cách ước tính vị trí giao điểm của nó với đoạn thẳng AB.
3.2 Phân tí h hương trình 3.2.1 Lựa chọn công nghệ
Luận văn lựa chọn kỹ thuật nội suy tuyến tính và nội suy dựa trên hợp nhất biến dạng cong cải tiến để xây dựng chương trình thực nghiệm nội suy lát cắt trung gian dựa trên hai lát cắt đầu vào.
Chương trình thực nghiệm được xây dựng trên ngôn ngữ C#, sử dụng lại từ điển định nghĩa các từ khóa được mã hóa và xác định vị trí trong chuẩn DICOM (file DicomDecoder.cs và Dictionary.cs trong mã nguồn được sử dụng lại). Các chức năng chính của chương trình bao gồm:
- Đọc và hiển thị file DICOM; hiển thị thông tin được lưu trữ trong phần Header của file DICOM.
- Thực hiện nội suy lát cắt trung gian từ hai lát cắt đầu vào bằng 2 kỹ thuật: nội suy tuyến tính và nội suy dựa trên kỹ thuật cải tiến phép hợp nhất biến dạng cong.
- Đánh giá lát cắt nội suy và lát cắt gốc bằng cách tính giá trị trung bình bình phương hệ số lỗi MSE và so sánh trực tiếp hai lát cắt này.
3.2.2 Phân tích thiết kế hương trình
Chương trình thử nghiệm được mô hình hóa bằng các biểu đồ UML như au:
Biểu đồ ca sử dụng (Use case)
- Tác nhân: User - người dùng hệ thống - Các ca sử dụng:
+ Read and Di play file DICOM: cho ph p đọc và hiển thị tập tin theo chuẩn DICOM
50
+ Display DICOM Tag: hiển thị phần thông tin chung chứa trong Header của tập tin DICOM
+ Compute Linear Interpolation: tính toán và hiển thị lát cắt nội suy theo kỹ thuật tuyến tính.
+ Compute Curvature-Registration Interpolation: tính toán và hiển thị lát cắt nội suy theo kỹ thuật hợp nhất biến dạng cong cải tiến.
+ Compare Original Slice and Interpolation Slice: So sánh lát cắt nội suy và lát cắt gốc bằng phép trừ trực tiếp giá trị cường độ điểm ảnh.
+ Compute MSE: Tính toán giá trị MSE giữa lát cắt nội suy và lát cắt gốc
Hình 3.2: Biểu đồ Use case
User Read and Display file DICOM
DisplayDICOM Tag Compute Linear Interpolation
Compute Curvature-Registration Interpolation Compare Original slice and Interpolation Slice
51 Biểu đồ trình tự
- Biểu đồ trình tự ca sử dụng Compute Linear Interpolation
Hình 3.3: Biểu đồ trình tự Use case Compute Linear Interpolation
- Biểu đồ trình tự Use case Compare Original Slice and Interpolaton Slice
Hình 3.4: Biểu đồ trình tự Use case
Compare Original Slice and Interpolaton Slice
: User ctnControl : controlMain frmMain : frmMain
1 : Read&Display()
2 : CallReadFileFunction() 3 : Display 4 : ComputeLinear()
5 : CallLinearFunction() 6 : Display Interpolation Slice
: User ctnControl : controlMain frmMain : frmMain
1 : Read&Display()
2 : CallReadFileFunction() 3 : Display 4 : ComputeLinear()
5 : CallLinearFunction() 6 : Display Interpolation Slice 7 : CompareLinear()
8 : CallCompareLinearFunction() 9 : DisplayCompareImage
52
- Biểu đồ trình tự Use case Display DICOM Tag
Hình 3.5: Biểu đồ trình tự Use case Display DICOM Tag
3.2.3 C bước triển khai
Bước 1: Đọc tập tin DICOM
- Tập tin DICOM được chia thành 2 phần, phần tiêu đề được đọc bằng cách sử dụng từ điển mã hóa các từ khóa và vị trí của chúng trong file DICOM. Đây là phần luận văn ử dụng bộ từ điển mã hóa đã được xây dựng sẵn. Một phần cấu trúc từ điển được mô tả như sau:
{"00020002", "UIMedia Storage SOP Class UID"}, {"00020003", "UIMedia Storage SOP Instance UID"}, {"00020010", "UITransfer Syntax UID"},
{"00020012", "UIImplementation Class UID"}, {"00020013", "SHImplementation Version Name"}, {"00020016", "AESource Application Entity Title"}, {"00080005", "CSSpecific Character Set"},
{"00080008", "CSImage Type"},
{"00080010", "CSRecognition Code"},
{"00080012", "DAInstance Creation Date"}, {"00080013", "TMInstance Creation Time"}, {"00080014", "UIInstance Creator UID"},
: User : controlMain : frmMain frmTag : frmTag
1 : Read&Display() 2 : CallReadFileFunction() 3 : Display 4 : ShowDICOMTag() 5 : CallDICOMtagFunction() 6 : Display()
53
{"00080016", "UISOP Class UID"}, {"00080018", "UISOP Instance UID"}, {"00080020", "DAStudy Date"},