ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH
——————– * ———————
LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC
HỆ THỐNG LÀM NHÃN CHO ẢNH CHỤP
CẮT LỚP VI TÍNH VỚI SỰ TRỢ GIÚP CỦA
TRÍ TUỆ NHÂN TẠO
Hội đồng
:
Khoa học máy tính
Giảng viên hướng dẫn
:
TS. Lê Thành Sách
Giảng viên phản biện
: TS. Nguyễn An Khương
Sinh viên thực hiện
: Nguyễn Công Thành (1713153)
Trần Hải Đăng (1711016)
Đàm Ngọc Hương (1711651)
TP. Hồ Chí Minh, Tháng 07/2021
Lời cam đoan
Chúng tội cam đoan mọi điều được trình bày trong báo cáo, cũng như mã
nguồn là do chúng tôi tự thực hiện - trừ các kiến thức tham khảo có trích dẫn
cũng như mã nguồn mẫu do chính nhà sản xuất cung cấp, hoàn toàn không sao
chép từ bất cứ nguồn nào khác. Nếu lời cam đoan trái với sự thật, chúng tôi xin
chịu mọi trách nhiệm trước Ban Chủ Nhiệm Khoa và Ban Giám Hiệu Nhà Trường.
Nhóm sinh viên thực hiện đề tài
Lời cảm ơn
Để hoàn thành được đề tài luận văn tốt nghiệp này, nhóm sinh viên thực
hiện đề tài đã nhận được sự hỗ trợ từ rất nhiều phía. Đầu tiên và quan trọng nhất,
nhóm xin gửi lời cảm ơn chân thành đến giảng viên hướng dẫn trực tiếp của nhóm
và Tiến sĩ Lê Thành Sách cũng như các thành viên trong GVLab. Thầy và các
anh là người định hướng chính, cung cấp tài liệu cũng như theo dõi quá trình thực
hiện đề tài và hỗ trợ khi nhóm gặp khó khăn.
Nhóm vô cùng biết ơn sự tận tình dạy dỗ, giúp đỡ của quý thầy cô trong
khoa Khoa học & Kỹ thuật Máy tính nói riêng cũng như trường Đại học Bách
khoa TP. Hồ Chí Minh nói chung. Những kiến thức nhận được từ quý thầy cô là
vô cũng quý giá và bổ ích, hỗ trợ rất lớn cho nhóm để hoàn thành đề tài luận văn
tốt nghiệp này.
Nhóm gửi lời cảm ơn đến gia đình, người thân, bạn bè, những người đã quan
tâm, động viên, giúp đỡ cả về thể chất lẫn tinh thần để nhóm có đủ nghị lực, sức
khỏe hoàn thành tốt đề tài luận văn tốt nghiệp đại học này.
Với lòng biết ơn chân thành, nhóm xin gửi lời chúc sức khỏe, lời biết ơn và
những lời chúc tốt đẹp nhất đến các quý thầy cô trong Khoa Khoa học và Kỹ
thuật Máy tính - Trường Đại Học Bách Khoa Đại Học Quốc Gia Thành phố Hồ
Chí Minh.
Nhóm sinh viên thực hiện đề tài
i
Tóm tắt
Việc phân đoạn ảnh y khoa mang lại nhiều lợi ích đầy hứa hẹn cho công tác
chẩn đoán - điều trị trong y học. Các số liệu thực tế cho thấy các mô hình phân
đoạn ảnh y khoa state-of-the-art tính đến thời điểm chúng tôi thực hiện luận văn
này đều thuộc nhóm dựa trên mạng neuron học sâu [1]. Để tăng hiệu quả phân
đoạn của các mô hình học sâu này đòi hỏi nhiều yếu tố như năng lực tính toán của
hạ tầng, kiến trúc của mạng neuron dùng trong phân đoạn và chất lượng của tập
dữ liệu được sử dụng trong quá trình huấn luyện mạng neuron. Trong đó, ở một
chừng mực nhất định, tương quan giữa tiềm năng cải tiến so với chi phí cải tiến
của chất lượng của tập dữ liệu là thấp nhất. Vì lẽ đó, trong luận văn này chúng tôi
cố gắng xây dựng một hệ thống hoạt động trên nền tảng web hỗ trợ việc xây dựng
tập dữ liệu phân đoạn ảnh y khoa có độ tin cậy cao một cách nhanh chóng và đòi
hỏi ít tài nguyên về nhân lực. Hệ thống mang đến nhiều công cụ hỗ trợ người gán
nhãn mà đáng chú ý nhất chính là sự hỗ trợ của trí tuệ nhân tạo, khả năng trực
quan hóa ba chiều và sinh lát cắt ảo từ tập ảnh hai chiều.
Công việc của chúng tôi gồm ba phần chính:
Đầu tiên, tạo ra bộ công cụ giúp đảm bảo thao tác gán nhãn của người dùng
trên dữ liệu thuận tiện và chính xác
Kế tiếp, trực quan hóa hình ảnh ba chiều từ tập ảnh y khoa, cũng như cho
người dùng khả năng điều khiển hoàn toàn và đơn giản việc sinh ra lát cắt
ảo từ dữ liệu ba chiều cũng như gán nhãn trên chúng và
Cuối cùng, kết nối người dùng đến mạng học sâu U2Net3D [2], sử dụng mô
hình để gán sẵn nhãn như một tiền đề cho người gán nhãn tiếp tục trên nó,
giảm bớt một phần đáng kể lượng công việc của họ.
ii
Lời cảm ơn
Để thực hiện các công việc đó, đầu tiên chúng tôi khảo sát các công trình
liên quan về mô phỏng ba chiều, xử lý ảnh trên nền tảng web và các mô hình học
sâu được ứng dụng trong xử lý ảnh y khoa để xây dựng cơ sở phương pháp luận
cho các công việc của mình. Sau khi đã có một cơ sở phương pháp luận vững chắc,
chúng tôi tiến hành tổng hợp và phát triển công cụ gán nhãn. Cuối cùng chúng
tôi đánh giá công trình bằng cách mời nhiều sinh viên của trường đại học Y Dược
thành phố Hồ Chí Minh sử dụng và mô tả lại trải nghiệm của họ.
Từ khóa: annotation tool, ai, unet, medical, image segmentation ..
iii
Mục lục
Lời cam đoan
Lời cảm ơn
i
Tóm tắt
ii
Danh sách hình vẽ
xiii
Danh sách bảng
xiv
Thuật ngữ & từ viết tắt
1 GIỚI THIỆU ĐỀ TÀI
xv
1
1.1
Đặt vấn đề . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.2
Mục tiêu và phạm vi giới hạn của đề tài . . . . . . . . . . . . . . .
2
1.3
Những thách thức . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
2 KIẾN THỨC NỀN TẢNG
2.1
2.2
4
Trực quan khối ba chiều . . . . . . . . . . . . . . . . . . . . . . . .
4
2.1.1
Định nghĩa . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
2.1.2
Ray casting . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
2.1.3
Kết cấu 3D (3D texture) trong trực quan khối ba chiều . . .
5
2.1.4
Thuật toán trực quan khối ba chiều . . . . . . . . . . . . . .
5
Đánh giá độ chính xác của việc gán nhãn . . . . . . . . . . . . . . .
6
iv
Mục lục
2.2.1
Ma trận nhầm lẫn . . . . . . . . . . . . . . . . . . . . . . .
6
2.2.2
Pixel Accuracy . . . . . . . . . . . . . . . . . . . . . . . . .
7
2.2.3
Độ chính xác và độ truy hồi . . . . . . . . . . . . . . . . . .
8
2.2.4
Intersection over Union (IoU) . . . . . . . . . . . . . . . . .
9
2.2.5
Hệ số tương đồng Dice . . . . . . . . . . . . . . . . . . . . .
9
2.2.6
Chỉ số lỗi trùng thể tích . . . . . . . . . . . . . . . . . . . . 11
2.2.7
Chỉ số sai khác thể tích . . . . . . . . . . . . . . . . . . . . . 11
3 CÁC CÔNG TRÌNH LIÊN QUAN
3.1
3.2
3.3
12
Mô đun phân đoạn ảnh của phần mềm 3D Slicer [3] . . . . . . . . . 12
3.1.1
Ba mặt cắt trực giao và trực quan hóa phân đoạn từ tập ảnh
ba chiều . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.1.2
Các công cụ cho gán nhãn thủ công và ứng dụng trí tuệ nhân
tạo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Mô đun phân trực quan hóa 3D của phần mềm Vesalius 3D [4] . . . 18
3.2.1
Ba mặt cắt trực giao và trực quan hóa phân đoạn từ tập ảnh
ba chiều . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2.2
Tính năng gán nhãn . . . . . . . . . . . . . . . . . . . . . . 19
Mô đun gán nhãn 2D của ứng dụng Training data [5] . . . . . . . . 19
3.3.1
Tính năng gán nhãn thủ công . . . . . . . . . . . . . . . . . 20
3.3.2
Tính năng dự đoán nhãn bằng AI . . . . . . . . . . . . . . . 21
4 TỔNG QUAN HỆ THỐNG LÀM NHÃN ẢNH Y KHOA DAT 22
4.1
Mục tiêu của hệ thống DAT . . . . . . . . . . . . . . . . . . . . . . 22
4.2
Phân tích yêu cầu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.3
4.2.1
Quản trị hệ thống và dữ liệu . . . . . . . . . . . . . . . . . . 22
4.2.2
Chức năng gán nhãn . . . . . . . . . . . . . . . . . . . . . . 23
Công nghệ sử dụng . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
v
Mục lục
4.4
4.3.1
Techstack . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.3.2
Ngôn ngữ lập trình . . . . . . . . . . . . . . . . . . . . . . . 24
4.3.3
Thư viện và frameworks . . . . . . . . . . . . . . . . . . . . 25
4.3.4
Cơ sở dữ liệu . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.3.5
Công cụ, phần mềm hỗ trợ . . . . . . . . . . . . . . . . . . . 28
Kiến trúc hệ thống . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.4.1
Tổng quan kiến trúc hệ thống . . . . . . . . . . . . . . . . . 29
4.4.2
Chi tiết kiến trúc hệ thống . . . . . . . . . . . . . . . . . . . 30
5 HIỆN THỰC HỆ THỐNG
5.1
5.2
5.3
5.4
33
Chức năng đăng ký tài khoản và đăng nhập . . . . . . . . . . . . . 33
5.1.1
Chức năng đăng ký tài khoản . . . . . . . . . . . . . . . . . 33
5.1.2
Chức năng đăng nhập . . . . . . . . . . . . . . . . . . . . . 34
5.1.3
Chức năng thay đổi mật khẩu . . . . . . . . . . . . . . . . . 34
Chức năng tải lên tập dữ liệu làm nhãn, chia sẻ và xóa tập dữ liệu . 36
5.2.1
Chức năng tải lên tập dữ liệu . . . . . . . . . . . . . . . . . 36
5.2.2
Chức năng chia sẻ tập dữ liệu . . . . . . . . . . . . . . . . . 37
5.2.3
Chức năng xóa tập dữ liệu . . . . . . . . . . . . . . . . . . . 38
Chức năng gán nhãn . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.3.1
Trực quan khối ba chiều . . . . . . . . . . . . . . . . . . . . 39
5.3.2
Lát cắt ảo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.3.3
Các công cụ gán nhãn thủ công . . . . . . . . . . . . . . . . 44
5.3.4
Điều chỉnh khoảng nhìn thấy của giá trị Hounsfield Unit . . 50
5.3.5
Gán nhãn tự động bằng trí tuệ nhân tạo . . . . . . . . . . . 52
5.3.6
Các công cụ hỗ trợ đo đạc khi gán nhãn . . . . . . . . . . . 57
Chức năng lưu nhãn . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.4.1
Tối ưu kích thước nhãn phía người dùng . . . . . . . . . . . 65
vi
Mục lục
5.4.2
Lưu trữ nhãn trên máy chủ . . . . . . . . . . . . . . . . . . 66
6 THÍ NGHIỆM VÀ ĐÁNH GIÁ
6.1
67
Thí nghiệm trực tiếp sử dụng phần mềm . . . . . . . . . . . . . . . 67
6.1.1
Dữ liệu dùng trong thí nghiệm - 3Dircadb [6] . . . . . . . . . 67
6.1.2
Kết quả thí nghiệm . . . . . . . . . . . . . . . . . . . . . . . 70
6.2
Thí nghiệm sử dụng kỹ thuật nén khi tải nhãn lên máy chủ . . . . . 75
6.3
Tổng hợp, đánh giá hệ thống DAT . . . . . . . . . . . . . . . . . . 76
6.3.1
Ưu điểm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
6.3.2
Nhược điểm . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
7 TỔNG KẾT
78
7.1
Thành quả đạt được . . . . . . . . . . . . . . . . . . . . . . . . . . 78
7.2
Định hướng phát triển . . . . . . . . . . . . . . . . . . . . . . . . . 79
Tài liệu tham khảo
81
vii
Danh sách hình vẽ
2.1
Bốn bước cơ bản trong trực quan khối. (1) Ray casting, (2) Lấy
mẫu, (3) Tạo bóng, (4) Tổng hợp . . . . . . . . . . . . . . . . . . .
5
3.1
Một ví dụ về ba mặt cắt (mặt cắt giữa, mặt cắt trước và mặt cắt
ngang) và trực quan hóa tập ảnh ba chiều trong mô đun phân đoạn
ảnh của phần mềm 3D Slicer [7]. Người dùng có thể gán nhãn trên
ba mặt cắt cho từng vật thể tương ứng và cập nhật nhãn trên mô
phỏng trực quan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2
Một ví dụ về cách tổ chức lưu trữ trong mô đun phân đoạn ảnh
của phần mềm 3D Slicer [7]. . . . . . . . . . . . . . . . . . . . . . 14
3.3
Một ví dụ về việc lựa chọn màu sắc hiển thị cho vật thể trên mô
phỏng ba chiều trong mô đun phân đoạn ảnh của phần mềm 3D
Slicer [7]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.4
Một ví dụ về danh sách các công cụ trong bảng Effects của mô đun
phân đoạn ảnh của phần mềm 3D Slicer [7]. Người dùng nháy đơn
vào biểu tượng để chọn công cụ tương ứng. . . . . . . . . . . . . . 15
3.5
Một ví dụ về công cụ vẽ dùng cho gán nhãn trong mô đun phân
đoạn ảnh của phần mềm 3D Slicer [7]. Người dùng nhấn giữ và di
chuyển chuột để vẽ trên mặt cắt họ muốn. . . . . . . . . . . . . . . 16
3.6
Một ví dụ về công cụ tăng trưởng vùng dùng cho gán nhãn trong
mô đun phân đoạn ảnh của phần mềm 3D Slicer [7]. Người dùng
chọn điểm khởi tạo và chọn bắt đầu, giải thuật sẽ lần lượt lan rộng
nhãn ra các điểm kế cận với điểm được gán nhãn và thỏa điều kiện
về chênh lệch giá trị HU với điểm khởi tạo. . . . . . . . . . . . . . 17
viii
Danh sách hình vẽ
3.7
Một ví dụ về công cụ gán nhãn tự động bằng trí tuệ nhân tạo
Nvidia Clara dùng cho gán nhãn trong mô đun phân đoạn ảnh của
phần mềm 3D Slicer [7]. Người dùng chọn một trong các vật thể
được hỗ trợ bởi trí tuệ nhân tạo và chọn bắt đầu, giải thuật sẽ tự
động gán nhãn vật thể được chọn trên ảnh. . . . . . . . . . . . . . 17
3.8
Cửa sổ làm việc của Vesalius 3D [4]. 1-Thanh menu. 2-Thanh điều
khiển. 3-Trực quan 3D. 4-Nháy chuột phải hiện danh mục. 5-Ba
mặt các 2D. 6-Ba trang ứng với ba chức năng: Trực quan hóa, đo
lường, in 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.9
Gán nhãn 3D từ các mặt cắt 2D [4]. . . . . . . . . . . . . . . . . . 19
3.10
Cửa sổ gán nhãn thủ công 2D trên ảnh y khoa của TrainingData
[5]. 1-Thanh menu chứa các công cụ gán nhãn, 2-Khu vực hiển thị
ảnh y khoa. 3-Cấu hình các nhãn, mỗi loại nhãn tương ứng với một
màu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.11
Một số mô hình huấn luyện có sẵn [5]. . . . . . . . . . . . . . . . . 21
4.1
Các công nghệ sử dụng . . . . . . . . . . . . . . . . . . . . . . . . 24
4.2
Tổng quan kiến trúc hệ thống . . . . . . . . . . . . . . . . . . . . . 29
4.3
Sơ đồ use case hệ thống DAT . . . . . . . . . . . . . . . . . . . . . 30
4.4
Sơ đồ sequence diagram hệ thống DAT
4.5
Thiết kế cơ sở dữ liệu với Django Model . . . . . . . . . . . . . . . 32
5.1
Giao diện đăng ký tài khoản . . . . . . . . . . . . . . . . . . . . . 33
5.2
Giao diện đăng nhập vào hệ thống DAT . . . . . . . . . . . . . . . 34
5.3
Giao diện menu đổi mật khẩu . . . . . . . . . . . . . . . . . . . . . 35
5.4
Giao diện chức năng đổi mật khẩu . . . . . . . . . . . . . . . . . . 35
5.5
Giao diện tải lên tập dữ liệu mới và hiển thị những tập dữ liệu hiện
có . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
. . . . . . . . . . . . . . . 31
ix
Danh sách hình vẽ
5.6
Trực quan khối ba chiều của cùng một tập ảnh khi chưa được chuẩn
hóa (Hình 5.8a) và sau khi đã chuẩn hóa khoảng cách (Hình 5.8a).
Không khó để thấy rằng trước khi được chuẩn hóa, hình ảnh ổ
bụng được mô phỏng thiếu chính xác. Từ đây có thể thấy được
tầm quan trọng của việc chuẩn hóa khoảng cách các voxel trước
khi đưa tập dữ liệu vào gán nhãn. Điều này cũng đúng với việc
chuẩn hóa giá trị các voxel. . . . . . . . . . . . . . . . . . . . . . . 37
5.7
Giao diện chia sẻ tập dữ liệu của mình với các người dùng khác . . 37
5.8
Giao diện xóa tập dữ liệu. . . . . . . . . . . . . . . . . . . . . . . . 38
5.9
Tổng quan giao diện làm nhãn . . . . . . . . . . . . . . . . . . . . 39
5.10
Render bằng kỹ thuật volume rendering . . . . . . . . . . . . . . . 41
5.11
Ví dụ về khả năng di chuyển lát cắt ảo. Người dùng có thể di
chuyển lát cắt ảo bằng cách tịnh tiến (Hình 5.11b), xoay trên-dưới
(Hình5.11c), xoay trái-phải (Hình 5.11d) và kết hợp các phép di
chuyển trên (Hình 5.11e). . . . . . . . . . . . . . . . . . . . . . . . 44
5.12
Công cụ vẽ nhãn bằng Brush . . . . . . . . . . . . . . . . . . . . . 45
5.13
Công cụ vẽ vùng nhãn hình tròn . . . . . . . . . . . . . . . . . . . 46
5.14
Công cụ vẽ vùng nhãn hình chữ nhật . . . . . . . . . . . . . . . . 47
5.15
Công cụ vẽ nhãn bằng Scissor . . . . . . . . . . . . . . . . . . . . . 48
5.16
Công cụ xóa nhãn . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.17
Công cụ xóa nhãn . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.18
Một ví dụ cho thấy tác dụng của việc thay đổi khoảng nhìn thấy
của giá trị Hounsfield Unit trong việc làm lộ ra các vật thể bị
che khuất trên vùng trực quan khối ba chiều. Hình 5.18a là trực
quan khối ba chiều của vật thể khi khoảng nhìn thấy của giá trị
Hounsfield Unit là từ −56 tới 124, với khoảng này các cơ quan nội
tạng trong ổ bụng bị cơ bụng và các cơ liên sườn che khuất, không
thể quan sát được bằng mắt thường. Khi điều chỉnh về khoảng từ
47 tới 111, phần nội tạng bên trong lộ ra và có thể quan sát bằng
mắt thường như ở hình 5.18b . . . . . . . . . . . . . . . . . . . . 50
x
Danh sách hình vẽ
5.19
Một ví dụ cho thấy tác dụng của việc thay đổi khoảng nhìn thấy
của giá trị Hounsfield Unit trong việc tăng cường sự khác biệt giữa
các vật thể khác nhau trên lát cắt ảo. Bằng việc thu hẹp giới hạn
nhìn thấy của giá trị Hounsfield Unit từ khoảng −1024 tới 1023
(Hình 5.19a) về −56 tới 124 và chuẩn hóa giá trị các điểm ảnh thấy
được về khoảng từ 0 tới 1 (Hình 5.19b), ta có thể làm nổi bật hình
ảnh gan và khối u nằm trên nó. . . . . . . . . . . . . . . . . . . . 51
5.20
Một ví dụ về việc điều chỉnh và cập nhật khoảng nhìn thấy của
giá trị Hounsfield Unit. Xuất phát từ khoảng nhìn thấy từ đến thể
hiện ở hai đầu cuối của thanh trượt ở vị trí được khoanh vùng bởi
hình chữ nhật đỏ số 1 (Hình 5.20a), người dùng kéo thả hai đầu
cuối của thanh trượt đến vị trí từ -43 tới 297 (Hình 5.20b), hình
ảnh được hiển thị bởi trực quan khối ba chiều và lát cắt ảo (lần
lượt nằm ở vị trí được khoanh vùng bởi hình chữ nhật số 2 và số 3)
được cập nhật liên tục với tiến độ kéo thả của người dùng. . . . . . 52
5.21
Kiến trúc của U2Net3D trích từ công trình của Tùng và cộng sự
[2], tạo nên từ các khối đơn vị gọi là U-Block 5.22. . . . . . . . . . 54
5.22
U-Block - khối đơn vị trong kiến trúc của U2Net3D trích từ công
trình của Tùng và cộng sự [2]. . . . . . . . . . . . . . . . . . . . . 55
5.23
Bảng số liệu trích từ công trình của Tùng và cộng sự [2] . . . . . . 55
5.24
Ví dụ về việc sử dụng tính năng gán nhãn tự động bằng trí tuệ
nhân tạo. Để tải nhãn dự đoán, người dùng nháy đơn vào nút “Load
AI Prediction/Previous Work” được nằm trong vòng tròn đỏ số 1
trên thanh công cụ. . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.25
Ví dụ về việc sử dụng tính năng gán nhãn tự động bằng trí tuệ
nhân tạo. Sau khi frontend nhận nhãn dự đoán, nhãn sẽ xuất hiện
trên hai vị trí bao gồm lát cắt ảo nằm trong vòng tròn đỏ số 2 và
vùng hiển thị nhãn nằm trong vòng tròn đỏ số 3. . . . . . . . . . . 56
5.26
Công cụ di chuyển vị trí lát cắt ảo Pan . . . . . . . . . . . . . . . 57
5.27
Kích thước ban đầu của lát cắt ảo . . . . . . . . . . . . . . . . . . 58
5.28
Kích thước khi phóng to lát cắt ảo
5.29
Kích thước khi thu nhỏ lát cắt ảo . . . . . . . . . . . . . . . . . . 60
. . . . . . . . . . . . . . . . . 59
xi
Danh sách hình vẽ
5.30
Công cụ đo góc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.31
Công cụ đo khoảng cách . . . . . . . . . . . . . . . . . . . . . . . . 62
5.32
Công cụ vẽ tự do cùng diện tích vùng nhãn được hiển thị . . . . . 63
5.33
Công cụ xác định tọa độ tại một vị trí xác định . . . . . . . . . . . 64
5.34
Công cụ xóa các công cụ đo lường . . . . . . . . . . . . . . . . . . 64
5.35
Định dạng cấu trúc nhãn . . . . . . . . . . . . . . . . . . . . . . . 65
6.1
Mô phỏng trực quan các mẫu dữ liệu từ các bệnh nhân thứ 1, 2 và
3 của tập dữ liệu 3Dircadb [6]. Sự khác biệt về lứa tuổi, chiều cao,
cân nặng... khiến các ảnh từ sáu bệnh nhân rất đa dạng về hình
dáng, kích thước các cơ quan nội tạng cũng như phân phối giá trị
HU của các cơ quan (khoảng nhìn thấy của giá trị HU để làm lộ
cơ quan bên trong mỗi người tương đối chênh lệch nhau, dù không
được thể hiện trong ảnh) . . . . . . . . . . . . . . . . . . . . . . . 69
6.2
Mô phỏng trực quan các mẫu dữ liệu từ các bệnh nhân thứ 4, 5 và
6 của tập dữ liệu 3Dircadb [6]. Sự khác biệt về lứa tuổi, chiều cao,
cân nặng... khiến các ảnh từ sáu bệnh nhân rất đa dạng về hình
dáng, kích thước các cơ quan nội tạng cũng như phân phối giá trị
HU của các cơ quan (khoảng nhìn thấy của giá trị HU để làm lộ
cơ quan bên trong mỗi người tương đối chênh lệch nhau, dù không
được thể hiện trong ảnh) . . . . . . . . . . . . . . . . . . . . . . . 70
6.3
Ảnh trực quan khối ba chiều của các bệnh nhân 1 và 2 và nhãn do
AI dự đoán tương ứng. Với độ chính xác cao (Hình 5.23), trí tuệ
nhân tạo có tác động tích cực về mặt thời gian và độ chính xác của
việc gán nhãn. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
6.4
Ảnh trực quan khối ba chiều của các bệnh nhân 3 và 4 và nhãn do
AI dự đoán tương ứng. Với độ chính xác cao (Hình 5.23), trí tuệ
nhân tạo có tác động tích cực về mặt thời gian và độ chính xác của
việc gán nhãn. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
xii
Danh sách hình vẽ
6.5
Ảnh trực quan khối ba chiều của các bệnh nhân 5 và 6 và nhãn do
AI dự đoán tương ứng. Với độ chính xác cao (Hình 5.23), trí tuệ
nhân tạo có tác động tích cực về mặt thời gian và độ chính xác của
việc gán nhãn. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
6.6
So sánh khối lượng và tốc độ tải lên khí sử dụng và không sử dụng
kỹ thuật nén . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
xiii
Danh sách bảng
2.1
Ma trận nhầm lẫn
. . . . . . . . . . . . . . . . . . . . . . . . . . .
6
6.1
Kết quả thí nghiệm trực tiếp gán nhãn, dice và recall có đơn vị (%),
thời gian có đơn vị phút. Giá trị dice và recall càng cao càng tốt,
thời gian càng thấp càng tốt. Số được in đậm là số tốt nhất của một
đơn vị đo ứng với một bệnh nhân . . . . . . . . . . . . . . . . . . . 71
6.2
So sánh hệ thống DAT với các ứng dụng 3D Slicer, Vesalius và
Trainingdata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
xiv
Thuật ngữ & từ viết tắt
AI
Artificial Intelligence.
CT
Computed Tomography.
DICOM
Digital Image and Communications in Medicine.
HU
Hounsfield Unit.
ISBI
International Symposium on Biomedical Imaging.
MICCAI
International Conference on Medical Image Computing and Computer
Assisted Intervention.
DAT
Data Annotation Tool
1 GIỚI THIỆU ĐỀ TÀI
1.1
Đặt vấn đề
Phân đoạn ảnh y khoa là bài toán quan trọng và đầy thách thức trong lĩnh
vực phân tích ảnh y khoa. Kết quả của quá trình phân đoạn ảnh y khoa sẽ cho ra
các thông tin then chốt liên quan tới hình dạng, kích thước và quan hệ về vị trí
của các cơ quan, khối u và các đối tượng cần được quan tâm khác trong chẩn đoán
và điều trị lâm sàng. Trong tất cả các cách tiếp cận trước nay, kỹ thuật phân đoạn
ảnh dựa trên mạng neuron học sâu đã cho thấy hiệu suất ưu việt. Bằng chứng là
những mô hình phân đoạn đạt state-of-the-art trong các cuộc thi phân đoạn ảnh y
khoa hiện nay như [8] hay [9] đều là những mô hình dựa trên mạng neuron học
sâu.
Sức mạnh của mạng neuron học sâu phụ thuộc vào ba yếu tố chính gồm sức
mạnh tính toán của hạ tầng, kiến trúc của mạng neuron và chất lượng của tập dữ
liệu huấn luyện mạng. Ở một chừng mực nhất định, tương quan giữa tiềm năng
cải tiến so với chi phí cải tiến của chất lượng tập dữ liệu là thấp nhất. [10] chỉ ra
một cách chính xác và chi tiết về sự cần thiết của một tập dữ liệu huấn luyện đa
dạng, chính xác và dồi dào đối với việc huấn luyện mô hình neuron học sâu.
Để xây dựng tập dữ liệu đáp ứng được nhu cầu huấn luyện các mô hình
mạng neuron học sâu giải quyết các bài toán khác nhau đòi hỏi người xây dựng
tập dữ liệu phải có công cụ đặc thù nhằm giảm bớt gánh nặng về nhân lực, thời
gian và vật chất, đặc biệt là với các loại dữ liệu yêu cầu chuyên môn đặc thù như
ảnh y khoa. Với ảnh y khoa ba chiều, công đoạn gán nhãn cho dữ liệu đặc biệt
tiêu tốn thời gian và sức khỏe của người gán nhãn. Hiện nay, mặc cho tất cả lợi
1
1.2. Mục tiêu và phạm vi giới hạn của đề tài
ích mà nó mang lại cho công nghệ phân đoạn ảnh, ở Việt Nam chưa có một công
cụ gán nhãn cho dữ liệu ba chiều nào được xây dựng và đưa vào hoạt động.
Vì lý do trên, chúng tôi kế thừa công trình của Tùng và cộng sự [2] và phát
triển đề tài “Annotation Tool For CT Images With AI”, trong đó chúng tôi xây
dựng một công cụ gán nhãn trên nền tảng web với sự hỗ trợ của trí tuệ nhân tạo
với mong muốn đóng góp vào sự phát triển của cả ngành khoa học máy tính và
ngành y, tạo ra nhiều giá trị tốt đẹp cho xã hội Việt Nam.
1.2
Mục tiêu và phạm vi giới hạn của đề tài
Mục tiêu cuối cùng mà chúng tôi muốn đạt được là một hệ thống dựa trên
nền tảng web hỗ trợ việc tạo ra nhãn cho các tập ảnh CT mà bác sĩ có thể truy
cập được từ một browser trên máy tính cá nhận và trực tiếp gán nhãn bằng cách
điều khiển chuột và bàn phím. Chúng tôi hướng đến việc hỗ trợ bác sĩ gán nhãn
một cách thật nhanh chóng, tốn ít công sức và tâm trí nhất có thể.
Có nhiều vấn đề mà một công cụ làm việc với dữ liệu y học cần giải quyết,
trong đó có vấn đề danh tính của người thao tác và vấn đề bảo mật danh tính của
người bệnh. Trong luận văn này chúng tôi sẽ chỉ làm thí nghiệm trên các tập dữ
liệu mở với danh tính của người bệnh được giấu đi, cũng như giả thiết rằng người
dùng hệ thống đã đuợc chứng thực về chuyên môn và trách nhiệm, vì vậy chúng
tôi sẽ chỉ giới hạn công việc của bản thân trong phạm vi tạo ra một hệ thống có
các chức năng sau:
1. Tiếp nhận, lưu trữ và cung cấp dữ liệu về ảnh CT.
2. Giúp người dùng trực quan hóa tập ảnh CT và cung cấp nhiều góc nhìn hơn
vào tập ảnh CT thông qua kỹ thuật sinh lát cắt ảo.
3. Giúp nguời dùng gán và lưu nhãn cho ảnh CT, có vận dụng trí tuệ nhân tạo.
1.3
Những thách thức
Những khó khăn mà chúng tôi gặp phải trong quá trình xây dựng hệ thống
đến từ nhiều nguyên nhân.
2
1.3. Những thách thức
Đầu tiên là tính phức tạp và chuyên sâu đặc thù của nghiệp vụ.
Ngành phân tích ảnh y khoa có nhiều khái niệm và quy tắc đòi hỏi chúng tôi
phải xây dựng một nền tảng kiến thức thích hợp để tạo ra một tiếng nói chung
nhằm chuyển đổi các khái niệm và quy tắc này thành các ràng buộc biểu diễn được
bởi ngôn ngữ lập trình.
Kế đó là giới hạn về công nghệ. Khả năng làm việc với hệ thống ngay trên
giao diện web từ chính máy tính cá nhân của người dùng mang lại những lợi ích to
lớn đối với trải nghiệm của họ, tuy nhiên nó giới hạn các lựa chọn của người lập
trình, từ đó nảy sinh một số thách thức.
Giới hạn về phần cứng của máy tính cá nhân tạo ra sự gò bó trong các tác
vụ đòi hỏi tính toán nặng, cụ thể như tác vụ mô phỏng ba chiều, buộc chúng tôi
phải tận dụng rất triệt để tài nguyên của máy tính cá nhân cũng như có biện pháp
phân phối khối lượng tính toán.
Quyết định xây dựng hệ thống trên nền tảng web thu nhỏ lựa chọn về ngôn
ngữ và framework. Trên thực tế không có nhiều framework hỗ trợ các công việc
mô phỏng ba chiều và xử lý ảnh trên nền tảng web, buộc chúng tôi phải làm việc
với các framework chưa trưởng thành trong tình trạng thiếu hụt nguồn tài liệu
về cách sử dụng. Chúng tôi cũng bị phụ thuộc vào các phương thức quản lý tài
nguyên được cung cấp bởi browser.
3
- Xem thêm -