5. Cấu trúc luận văn
2.2.3. Phân đoạn Gan dựa vào mô hình chất liệu
Ý tƣởng của mô hình chất liệu ở đây là khi xét một vùng bên trong đối tƣợng thì một phần của nó cũng đóng vai trò nhƣ nó. Nói theo nghĩa khác, các vùng con bất kỳ bên trong đối tƣợng sẽ có những đặc trƣng giống nhau và có khả năng áp dụng một mô hình học máy. Về cơ bản, một ảnh sẽ đƣợc xử lý trên cơ sở phân tích một tập các vùng ảnh con của nó. Thuật toán phân đoạn đƣợc kỳ vọng rằng khi đánh giá các vùng ảnh con của đối tƣợng, mô hình sẽ cho ra chỉ số dự báo có tính phân biệt với các vùng không phải đối tƣợng. Từ đó kết hợp các kết quả từng vùng con lại để đƣợc kết quả phân đoạn toàn cục.
2.2.3.1. Pha huấn luyện
Dữ liệu huấn luyện là một tập các ảnh chụp cắt lớp CT đã đƣợc đánh dấu các vùng đối tƣợng. Việc đánh dấu đƣợc thể hiện nhƣ sau: Mỗi ảnh I đầu vào sẽ có 1 ảnh nhãn L tƣơng ứng. Trong đó ảnh nhãn L là một ảnh nhị phân có kích thƣớc bẳng với ảnh I. Theo đó, trong ảnh nhãn L, vùng trắng là vùng gan và vùng đen là vùng không phải.
Với mỗi ảnh, ta sẽ sinh tự động một tập các vùng ảnh con là các vùng hình chữ nhật. Mỗi vùng ảnh con sẽ có nhãn giá trị là tỉ lệ diện tích vùng ảnh gan đã đƣợc đánh dấu bên trong nó so với diện tích vùng ảnh con. Theo đó, mỗi vùng ảnh con sẽ có một nhãn giá trị nằm trong đoạn [0, 1]. Các tập các vùng ảnh con của tất cả các ảnh của bộ dữ liệu huấn luyện đƣợc gộp chung lại làm thành tập mẫu học cho bộ hồi quy.
Thuật toán sinh tập dữ liệu huấn luyện hồi quy đƣợc mô tả nhƣ sau:
Input: U {(Is,Ls):s1,2,...,S} Output: T {(si,Ri,vi):i1,2,...,N}
begin number_positive := 0; number_negative := 0; T := Ø; for each (Is,Ls)U brect := bounding_rectangle(Ls);
for each wsize[MIN_WND_SIZE,MAX _WND_SIZE]
for each x[brect.x,brect.xbrect.width]
for each y[brect.y,brect.ybrect.height]
R := rectangle(x, y, wsize, wsize); v := calculate_label(Ls, R); if (v>0.5) number_positive := number_positive+1; push(T, (s, R, v)); endif endfor endfor endfor endfor while (number_negative<number_positive) s := randsom_between(1, S); wsize:= randsom_between( SIZE WND MAX SIZE WND MIN_ _ , _ _ );
y := random_between(0, Is.height-wize); R := rectangle(x, y, wsize, wsize);
v := calculate_label(Ls, R); if (v<0.5) number_negative := number_negative+1; push(T, (s, R, v)); endif endwhile end
Trong thuật toán, U là tập dữ liệu ban đầu, có S phần tử. Theo đó, phần tử thứ s bao gồm ảnh gốc Is và ảnh nhãn Ls. Tƣơng tự đầu ra là tập dữ liệu huấn luyện hồi quy, mỗi phần tử bao gồm chỉ số phần tử tƣơng ứng trong U, vùng hình chữ nhật của ảnh con và giá trị tỉ lệ diện tích gan trong vùng ảnh con. Ta sử dụng các vùng ảnh con là vùng hình vuông thay cho trƣờng hợp tổng quát hơn là hình chữ nhật, kích thƣớc vùng đƣợc giới hạn bởi hai giá trị MIN_WND_SIZE và MAX_WND_SIZE.
Khi sinh mẫu, ta có thêm 1 đánh giá positive và negative cho mỗi mẫu dựa trên tỉ lệ diện tích đối tƣợng trong vùng ảnh con của mẫu. Để giới hạn không gian tìm kiếm, với mỗi ảnh, các mẫu positive sẽ đƣợc chọn trong vùng hình chữ nhật bao ngoại tiếp vùng đối tƣợng của mỗi ảnh; còn các mẫu negative sẽ đƣợc chọn ngẫu nhiên trong toàn bộ ảnh. Cuối cùng, các mẫu đƣợc sử dụng để học cho mô hình cây hồi quy với đặc trƣng Haar.
2.2.3.2. Pha phân đoạn gan
Sau khi đã học đƣợc mô hình cây hồi quy với đặc trƣng Haar, vấn đề còn lại là áp dụng để phân đoạn trên một ảnh mới. Việc đánh giá sẽ đƣợc thông qua một bản đồ tỉ lệ (vote map). Vote map là một ma trận có kích thƣớc tƣơng ứng với ảnh đầu vào, các giá trị của nó càng cao sẽ tƣơng ứng khả năng tồn
tại vùng gan càng lớn.
Ban đầu, tất cả các phần tử của vote map đƣợc khởi tạo bẳng 0. Sau đó xét các vùng ảnh con có thể của ảnh đầu vào thông qua việc đánh giá với bộ hồi quy. Tƣơng ứng mỗi vùng, giá trị dự đoán đầu ra của bộ hồi quy sẽ đƣợc tổng hợp bẳng cách cộng dồn lên tất cả các điểm ảnh trong vùng ảnh tƣơng ứng trên vote map.
Thuật toán xây dựng vote map đƣợc mô tả nhƣ sau:
Input: I // ảnh đầu vào
treg // cây hồi quy
Output: vote_map
begin
zero_data(vote_map);
for each wsize[MIN_WND_SIZE,MAX _WND_SIZE]
for each x[0,I.widthwsize]
for each y[0,I.heightwsize]
R := rectangle(x, y, wsize, wsize);
v := predict(treg, I, R); add_value(vote_map, R, v); endfor endfor endfor end
Tƣơng tự nhƣ khi thực hiện trích mẫu để học, khi thực hiện tính vote map, ta cũng thực hiện xét trên các vùng ảnh vuông có kích thƣớc đƣợc giới hạn bởi hai giá trị MIN_WND_SIZE và MAX_WND_SIZE. Từ vote map thu nhận đƣợc, ta sử dụng kỹ thuật phân ngƣỡng trên vote map để có đƣợc kết