ĐẠI HỌC QUỐC GIA TP 55 CHƢƠNG 4 CÁC THUẬT TOÁN TRÍCH XUẤT GAN VÀ U GAN SỬ DỤNG MÁY HỌC CỰC TRỊ Chƣơng này trình bày (i) Máy học cực trị và ứng dụng Nội dung liên quan đến các bài báo khoa học CT7, CT5 (ii) Xác định tự động miền mức xám của gan trong ảnh MR ổ bụng ba chiều sử dụng máy học cực trị và thông tin thống kê mức xám gan, từ đó đề xuất thuật toán trích xuất gan tự động cơ sở mô hình trình bày trong chƣơng hai Nội dung liên quan đến các bài báo khoa học CT4, CT5; (iii) Thuật toán tríc.
CHƢƠNG - CÁC THUẬT TỐN TRÍCH XUẤT GAN VÀ U GAN SỬ DỤNG MÁY HỌC CỰC TRỊ Chƣơng trình bày: (i) Máy học cực trị ứng dụng Nội dung liên quan đến báo khoa học [CT7, CT5] (ii) Xác định tự động miền mức xám gan ảnh MR ổ bụng ba chiều sử dụng máy học cực trị thông tin thống kê mức xám gan, từ đề xuất thuật tốn trích xuất gan tự động sở mơ hình trình bày chƣơng hai Nội dung liên quan đến báo khoa học [CT4, CT5]; (iii) Thuật tốn trích xuất u gan từ ảnh MR ổ bụng ba chiều dùng máy học cực trị thuật toán tập đồng mức Nội dung liên quan đến báo khoa học [CT3] 4.1 Máy học cực trị ứng dụng Máy học cực trị thuật tốn huấn luyện khơng lặp cho mạng neural truyền thẳng lớp ẩn Thuật tốn có thời gian huấn luyện nhanh hiệu nhiều trƣờng hợp [27] 4.1.1 Giới thiệu mạng neural nhân tạo Mạng neural nhân tạo mô hoạt động mạng neural sinh học bắt đầu đƣợc nghiên cứu từ năm 1943 [37, 53] Trải qua nhiều giai đoạn thăng trầm ngày mạng neural nhân tạo đƣợc nghiên cứu ứng dụng ngày phổ biến với nhiều kiến trúc mạng thuật toán huấn luyện khác Để bắt đầu với mạng neural nhân tạo ta xem xét sơ đồ neural sinh học nhƣ hình vẽ 4.1 Mỗi neural sinh học gồm ba thành phần bản: sợi nhánh (dendrites), nhân tế bào (cell nucleus) sợi trục (axon) Tín hiệu vào thông qua sợi nhánh, đƣợc tổng hợp nhân tế bào qua sợi trục đạt điều kiện Tín hiệu đầu vào neural sinh học khác, tạo thành mạng neural 55 sinh học Bộ não ngƣời có mạng neural sinh học gồm khoảng 1011 neural khoảng 1014 kết nối [31] Hình 4.1 Sơ đồ neural sinh học [53] Trên sở mô neural sinh học, neural nhân tạo nhận tín hiệu đầu vào, tổng hợp cho tín hiệu đầu Giả sử cho tập liệu mà mẫu đƣợc biểu diễn nhƣ vector d chiều x ( x1 , x2 , , xd ) (4.1) Ta thiết kế neural nhân tạo để phân tập liệu thành hai lớp Nhƣ neural cần thiết kế có d đầu vào đầu nhận giá trị tƣơng ứng cho lớp Nếu tổ hợp tuyến tính w1 x1 w2 x2 wd xd wx không nhỏ ngƣỡng θ đầu nhận giá trị ngƣợc lại nhận giá trị Ở w (w1 , w2 , , wd ) vector trọng số đầu vào neural Đặt b = - θ sử dụng hàm Heaviside đƣợc định nghĩa nhƣ công thức (4.2) 1 neáu z 0, 0 neáu z < ( z) H ( z) (4.2) Lúc đầu đƣợc xác định công thức (4.3) y (wx b) (4.3) Nhƣ ta biểu diễn tổng quát neural nhân tạo nhƣ hình vẽ 4.2 56 Hàm đƣợc gọi hàm kích hoạt b đƣợc gọi độ lệch (bias) Trong thực tế nhiều toán khơng thiết bƣớc tổng hợp (cịn gọi hàm mạng) tổ hợp tuyến tính đầu vào Hàm kích hoạt cịn nhiều lựa chọn khác, chi tiết hàm mạng hàm kích hoạt tham khảo [30] Trong toàn luận án tác giả sử dụng hàm kích hoạt sigmoid sử dụng hàm mạng tổ hợp tuyến tính đầu vào Hình 4.2 Sơ đồ neural nhân tạo Nhƣ mạng neural sinh học, mạng neural nhân tạo gồm nhiều neural nhân tạo kết nối với mà đầu neural nhân tạo đầu vào neural nhân tạo khác Các quy tắc kết nối khác hình thành kiến trúc mạng neural khác nhƣ kiến trúc mạng phản hồi (feedback architecture), kiến trúc mạng hồi quy, kiến trúc mạng truyền thẳng nhiều lớp,…Trong kiến trúc mạng truyền thẳng nhiều lớp nhƣ hình vẽ 4.3 đƣợc dùng phổ biến 57 Hình 4.3 Sơ đồ mạng neural truyền thẳng nhiều lớp Trong kiến trúc mạng truyền thẳng nhiều lớp, neural xếp thành lớp khác gọi lớp ẩn, neural gọi nút ẩn Các neural lớp ẩn không kết nối với đầu vào neural đầu tất neural thuộc lớp ẩn liền trƣớc Đầu vào tất neural lớp ẩn vector d chiều x ( x1 , x2 , , xd ) Đầu tất neural lớp ẩn cuối vector c chiều o (o1 , o2 , , oc ) , đƣợc xác định tổ hợp tuyến tính đầu lớp ẩn cuối Mỗi neural có ngƣỡng (hay độ lệch), vector trọng số đầu vào, vector trọng số đầu Q trình tính tốn lan truyền từ trái sang phải Nhƣ vậy, mạng neural truyền thẳng nhiều lớp ẩn xem nhƣ hàm số o f (x, P) (4.4) P tập tham số: số lớp ẩn, số nút ẩn lớp, hàm kích hoạt, độ lệch vector trọng số số đầu vảo, vector trọng số đầu nút ẩn Để xác định đầu o từ đầu vào x bất kỳ, việc ta phải xác định tập tham số P Đây tốn ngƣợc khơng chỉnh Một cách xác định tập tham số P dựa vào tập liệu xác định sẵn đầu gọi tập huấn luyện Cho tập huấn luyện gồm M mẫu nhƣ công thức (4.5) D {(xi , t i ) | (xi , t i ) R d R c }, i M (4.5) Ta định nghĩa hàm mát (lost function), ví dụ hàm mát đƣợc dùng phổ biến nhƣ công thức (4.6) M E ( P) (t j o j ) j 1 (4.6) Cực tiểu hàm mát cho phép ta xác định tập tham số P Nhƣ việc xác định tập tham số P số trở thành toán P* arg E ( P) P (4.7) 58 Quá trình xác định tập tham số P sở tập liệu huấn luyện gọi thuật toán huấn luyện mạng neural Các thuật toán huấn luyện phổ biến thƣờng dựa việc giải xấp xỉ phƣơng trình (4.7) dùng kỹ thuật giảm gradient, điển hình thuật toán lan truyền ngƣợc cải tiến Hạn chế thuật toán chậm, tối ƣu cục bộ, khớp liệu (overfitting) dẫn đến khơng có khả tổng qt hóa,….Thời gian huấn luyện lớn số lớp ẩn nhiều Các tác giả [26] chứng minh mạng neural truyền thẳng lớp ẩn xấp xỉ hàm hàm kích hoạt đƣợc chọn phù hợp Cũng với mạng neural truyền thẳng lớp ẩn, Huang cộng đề xuất thuật tốn huấn luyện khơng lặp cho phép pha huấn luyện nhanh [27] Trên sở cơng trình [CT5, CT3] sử dụng mạng neural truyền thẳng lớp ẩn với thuật toán huấn luyện không lặp để huấn luyện liệu trực tiếp ảnh MR ổ bụng ba chiều, từ xây dựng thuật tốn trích xuất gan u gan mà đảm bảo thời gian thực 4.1.2 Máy học cực trị Sơ đồ kiến trúc mạng neural truyền thẳng lớp ẩn với d đầu vào x j1 , x j , , x jd c đầu o j1 , o j , , o jc nhƣ hình vẽ 4.4 Mạng có N nút ẩn ứng với nút ẩn thứ i ta có: (i) độ lệch bi, (ii) trọng số đầu vào w1i , w2i , , wdi , (iii) trọng số đầu ai1 , , , aic 59 Hình 4.4 Kiến trúc mạng neural truyền thẳng lớp ẩn Giá trị đầu nút ẩn thứ i đƣợc tính nhƣ (4.8) d h ji x jk wki bi k 1 (4.8) Giá trị đầu mạng đƣợc tính nhƣ (4.9) N o jk h ji aik , k c i 1 (4.9) Xét tập liệu huấn luyện gồm M mẫu nhƣ (4.10) D {( x j1 , x j , , x jd , t j1 , t j , , t jc ) | j M } (4.10) Ta có hệ phƣơng trình N t jk h ji aik , k c, j M i 1 (4.11) Hệ phƣơng trình (4.11) đƣợc viết lại dƣới dạng ma trận t jk h ji aik Nc M c M N (4.12) Đặt T t jk M c , H h ji M N , A aik N c (4.13) Hệ phƣơng trình (4.12) đƣợc viết lại thành phƣơng trình (4.14) HA T (4.14) Theo đề xuất Huang cộng [27], trọng số đầu vào độ lệch đƣợc chọn ngẫu nhiên, hàm kích hoạt khả vi Lúc ma trận H đƣợc xác định Hệ phƣơng trình (4.14) trở thành hệ phƣơng trình tuyến tính, ta phải xác định ma trận A từ ma trận H ma trận T Với trƣờng hợp số mẫu tập huấn luyện số nút ẩn mẫu đƣợc chọn phân biệt, ma trận H ma trận vuông khả đảo Hệ phƣơng trình (4.14) có nghiệm 60 A H1T (4.15) Trong hầu hết trƣờng hợp, số mẫu huấn luyện lớn (hoặc nhỏ hơn) số nút ẩn Vì ma trận H khơng khả đảo, hệ phƣơng trình (4.15) khơng có nghiệm xác Theo đề xuất Huang cộng [27], nghiệm xấp xỉ hệ phƣơng trình (4.15) đƣợc xác định thơng qua ma trận giả đảo ma trận H nhƣ sau A H†T (4.16) H † ma trận giả đảo H theo điều kiện Moore-Penrose [15] [27] Từ dẫn đến thuật tốn huấn luyện khơng lặp nhƣ thuật toán 4.1 Thuật toán 4.1 Thuật toán huấn luyện không lặp Đầu vào: - Tập liệu huấn luyện D {( x j1 , x j , , x jd , t j1 , t j , , t jc ) | j M } - Số nút ẩn N, hàm kích hoạt Đầu ra: - Tập trọng số đầu vào w1i , w2i , , wdi , i=1 N - Tập trọng số đầu ai1 , , , aic , i=1 N - Độ lệch bi, i=1 N Khởi tạo ngẫu nhiên trọng số đầu vào độ lệch Tính ma trận H h ji M N , hji đƣợc tính theo cơng thức (4.8) Tính trọng số đầu theo công thức (4.16) 4.1.3 Ứng dụng vào việc xác định đƣờng trơn xấp xỉ histogram ảnh Một ví dụ minh họa ứng dụng máy học cực trị tạo đƣờng trơn xấp xỉ histogram ảnh MR ổ bụng ba chiều, từ xác định miền mức xám gan ảnh MR ổ bụng ba chiều Nội dung liên quan đến báo [CT4, CT5] 61 Nhận thấy histogram ảnh MR ổ bụng khơng phải đƣờng trơn, tốn xác định đƣờng trơn xấp xỉ histogram Giả sử hàm đƣờng trơn xấp xỉ đƣợc xác định thông qua dùng mạng neural truyền thẳng lớp ẩn có kiến trúc nhƣ hình vẽ 4.4, lúc hàm đƣợc viết nhƣ (4.17) N f ( x) ak ( wk x bk ) (4.17) k 1 Để xác định số công thức (4.17) ta dùng thuật toán huấn luyện 4.1 Tập liệu huấn luyện đƣợc dùng x ,t | x X,t T j j j j X x1 , x , , x M giá trị mức xám khác ảnh MR ổ bụng T t1 , t , , t M giá trị tần suất tƣơng ứng Kết đƣợc minh họa nhƣ hình vẽ 4.5 Từ đƣờng trơn xấp xỉ histogram ta xác định đƣợc đỉnh (cực đại địa phƣơng) Theo thống kê mức xám gan ảnh MR ổ bụng ba chiều chủ yếu phân bố xung quanh đỉnh thứ hai từ phải sang Trên sở nhận định ta xác định tự động đƣợc miền mức xám gan, từ đề xuất thuật tốn trích xuất tự động gan từ ảnh MR ổ bụng ba chiều [CT4] 62 Hình 4.5 Kết đƣờng histogram hồi quy 4.2 Thuật tốn trích xuất gan tự động Thuật tốn 3.3 trích xuất gan tự động từ ảnh MR ổ bụng ba chiều, đƣợc xây dựng sở tự động phát miền mức xám gan dùng biến đổi Watershed đặc trƣng thống kê gan Trong phần miền mức xám gan đƣợc xác định tự động dựa vào thông tin phân bổ mức xám gan xung quanh đỉnh thứ hai từ phải sang histogram ảnh MR ổ bụng ba chiều nhƣ trình bày 4.1.3 Từ xây dựng thuật tốn trích xuất gan tự động tƣơng tự nhƣ thuật tốn 3.3 4.2.1 Xác định miền mức xám ảnh gan tiềm Giả sử lpk giá trị đỉnh thứ hai từ phải sang đƣờng trơn xấp xỉ histogram nhƣ trình bày 4.1.3 Theo thống kê, cƣờng độ mức xám gan phân bố xung quanh giá trị lpk đƣợc xác định nhƣ công thức (4.18) l lpk l , u lpk u (4.18) 63 Tham số l , u đƣợc xác định dựa thực nghiệm ảnh MR ổ bụng không đổi cho tồn tập ảnh thực nghiệm sau Trong báo [CT4, CT5] tham số đƣợc dùng gán giá trị l r 150 Ảnh I th đƣợc tạo dùng cặp ngƣỡng (l, u) vừa xác định Do mức xám tƣơng tự nội tạng, nên ảnh bao gồm gan vùng gan Ở vùng tiếp giáp gan với nội tạng khác có mức xám thay đổi chậm, dộ lớn gradient vùng nhỏ Để loại bỏ vùng ta cập nhật ảnh I th để tạo ảnh I T theo công thức (4.19) IT p Ith p u( I M p ), (4.19) u x hàm đơn vị đƣợc đinh nghĩa công thức (3.20) đƣợc cung cấp ngƣời dùng thông qua thực nghiệm Trong báo [CT4, CT5] giá trị 20 Các tham số đƣợc xác định trƣớc thông qua thực nghiệm ảnh MR ổ bụng ba chiều Các giá trị không đổi tồn tập liệu, nhƣ xem thuật toán 4.2 tự động Thuật toán 4.2 ƣớc lƣợng miền mức xám gan tạo ảnh gan tiềm Đầu vào : ảnh độ lớn gradient I M Tham số: r , l , Đầu ra: ảnh gan tiềm Xác định đƣờng trơn xấp xỉ histogram dùng thuật toán 4.1 Xác định đỉnh thứ hai từ phải sang Xác định miền mức xám sử dụng công thức (4.18) Xác định ảnh gan tiềm sử dụng công thức (4.19) 64 4.2.2 Thuật tốn trích xuất gan tự động Nhƣ với việc sử dụng thuật toán 3.2 để tự động xác định ảnh gan tiềm thay cho bƣớc 2.1 thuật tốn 3.3 ta đƣợc thuật tốn trích xuất gan tự động 4.3 Thuật tốn 4.3 Thuật tốn trích xuất gan tự động Đầu vào: Đầu ra: Ảnh MR ổ bụng ba chiều (I) biên gan, thể tích gan Tiền xử lý 1.1 Tạo ảnh khử nhiễu ảnh độ lớn gradient dùng thuật toán 2.2 Tạo biên gan xấp xỉ 2.1 Tạo ảnh gan tiềm dùng thuật toán 4.2 2.2 Xác định vùng gan xấp xỉ sử dụng thuật toán 3.1 Tinh chỉnh biên gan 3.1 Tinh chỉnh biên gan sử dụng phƣơng trình (2.56) Xác định thể tích gan 4.2.3 Kết thực nghiệm Tập liệu thực nghiệm gồm 10 ảnh MR ổ bụng ba chiều đƣợc thu thập trung tâm y khoa Medic Các biên gan đƣợc bác sỹ chun gia chẩn đốn hình ảnh MEDIC vẽ tay cách cẩn thận lát cắt ảnh để xây dựng tiêu chuẩn vàng Thời gian trích xuất trung bình 1.02 ± 0.8 phút (CPU: Intel, core i7, 2.8 GHz ) trích xuất thủ công 24.7 ± 3.7 phút (p