Tải bản đầy đủ (.pdf) (98 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.25 MB, 98 trang )

ĐẠ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, hồn tồ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 để hồ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 đố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 tố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 ngun 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ự đố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ự đố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ự đố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 tố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 tố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 tố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 tố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


2 KIẾN THỨC NỀN TẢNG
2.1
2.1.1

Trực quan khối ba chiều
Định nghĩa

Trực quan khối là một tập hợp các phương pháp được sử dụng trong đồ họa
máy tính để tạo ra phép chiếu 2D từ tập dữ liệu 3D được lấy mẫu riêng biệt. Tập
dữ liệu 3D có thể là tập hợp các hình ảnh lát cắt 2D của máy quét MRI, CT.
Khi đã có tập dữ liệu 3D, việc đầu tiên cần thực hiện là xác định vị trí quan sát
(camera) trong khơng gian, sau đó xác định màu sắc, độ mờ của từng voxel (thường
sử dụng hàm truyền RGBA).

2.1.2

Ray casting

Ray casting là một kỹ thuật dựng hình được phát triển từ những năm 1960
và được sử dụng rộng rãi trong đồ họa máy tính và hình học tính tốn. Nó có khả
năng tạo ra góc nhìn ba chiều của một vật thể từ một tập ảnh 2 chiều. Kỹ thuật
này giúp xác định sự va chạm của một vật thể với một tia cho trước nhằm thu
thập cái thông tin về vật thể mà tia này đi qua.

4



2.1. Trực quan khối ba chiều

2.1.3

Kết cấu 3D (3D texture) trong trực quan khối ba
chiều

Kết cấu 3D trong trực quan khối còn gọi là ánh xạ kết cấu (texture mapping),
là một kỹ thuật đặc biệt cho phép phân tách vật thể 3D thành các lát cắt trực
giao. Điều này có nghĩa là ta có thể áp dụng ánh xạ kết cấu 2D cho kết cấu 3D
nhằm trực quan khối vật thể.

2.1.4

Thuật tốn trực quan khối ba chiều

Hình 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

Để trực quan một khối dữ liệu 3D, ta cần thực hiện những bước sau:
1. Ray casting: Đối với mỗi pixel của hình chiếu 2D cuối cùng, một tia nhìn
được bắn (cast) qua khối 3D (volume). Ở giai đoạn này, nên xem xét khối
3D được bao bọc bởi một vật thể nguyên thủy có giới hạn - một đối tượng
hình học đơn giản (thường là một khối lập phương) - được sử dụng để giao
giữa tia nhìn và khối.
2. Lấy mẫu (sampling): Dọc theo phần của tia nhìn nằm trong khối 3D, các
điểm lấy mẫu cách đều nhau được chọn. Nhìn chung, khối 3D khơng được
căn chỉnh với tia nhìn và các điểm lấy mẫu thường sẽ nằm ở giữa các voxels.

Do đó, cần phải nội suy các giá trị của mẫu từ các voxel xung quanh của nó.
3. Tạo bóng (shading): Đối với mỗi điểm lấy mẫu, hàm truyền tải (transfer
function) lấy màu vật liệu (từ kết cấu 3D - 3D texture) và độ dốc (gradient)
5


2.2. Đánh giá độ chính xác của việc gán nhãn
của các giá trị chiếu sáng để tính tốn. Độ dốc đại diện cho định hướng của
các bề mặt cục bộ trong khối. Sau đó, các mẫu được tơ bóng (nghĩa là được
tô màu và chiếu sáng) theo hướng bề mặt của chúng và vị trí của nguồn sáng
trong bối cảnh (scene).
4. Tổng hợp (compositing): Sau khi tất cả các điểm lấy mẫu đã được tơ
bóng, chúng được kết hợp dọc theo tia nhìn, dẫn đến giá trị màu cuối cùng
cho pixel trên hình chiếu 2D. Để tổng hợp được giá trị màu cuối cùng cho
pixel trên hình chiếu 2D, có thể bắt đầu tính tốn từ sau ra trước, tức là
tính tốn bắt đầu với mẫu xa người xem nhất và kết thúc bằng mẫu gần
người xem nhất. Cách này đảm bảo rằng các phần bị che của khối 3D khơng
ảnh hưởng đến điểm ảnh thu được. Trong khi đó, thứ tự tính tốn từ trước
ra sau có thể hiệu quả hơn về mặt tốc độ vì càng ra xa khỏi máy ảnh, năng
lượng cịn lại của tia nhìn càng giảm; do đó, sự đóng góp vào giá trị kết xuất
giảm dần. Ngồi ra, ra có thể tăng tốc độ tính tốn bằng cách tăng khoảng
cách giữa các điểm lấy mẫu.

2.2

Đánh giá độ chính xác của việc gán nhãn

Để đánh giá hiệu quả của công cụ trong khả năng hỗ trợ người gán nhãn,
chúng tôi


2.2.1

Ma trận nhầm lẫn

Khi đánh giá một mơ hình mạng học sâu, chúng ta thường đề cập đến một
thuật ngữ gọi là ma trận nhầm lẫn (confusion matrix) [11]. Một bảng dùng để
mô tả hiệu suất của một mơ hình phân loại trên tập dữ liệu đã biết kết quả đúng,
giúp ta có cái nhìn trực quan về hiệu suất các giải thuật.

Giá trị dự đoán

Positive
Negative

Giá trị thực
Positive Negative
TP
FP
FN
TN

Bảng 2.1: Ma trận nhầm lẫn

Cụ thể hơn, khi xét một bài toán phân loại 2 lớp: trong đó một lớp nghiêm
6


2.2. Đánh giá độ chính xác của việc gán nhãn
trọng hơn lớp kia cần được đự dốn chính xác. Giả sử ta đang xét bài toán phân
loại gồm 2 lớp: ung thư (positive), không ung thư (negative).

Positive: Đối tượng được gán nhãn là ung thư.
Negative: Đối tượng được gán nhãn là khơng phải ung thư.
True Positive (TP): Khi mơ hình dự đốn đúng đối tượng đó là ung thư.
False Positive (FP): Khi mơ hình dự đốn đối tượng đó là ung thư nhưng
thực sự nó là khơng phải là ung thư.
True Negative (TN): Khi mơ hình dự đốn đúng đối tượng đó là khơng phải
ung thư.
False Negative (FN): Khi mơ hình dự đốn đối tượng đó là khơng phải ung
thư nhưng thực sự nó là ung thư.
Bên cạnh đó, các chỉ số False Positive Rate (tỉ lệ báo động nhầm), False
Negative Rate (tỉ lệ bỏ sót) cũng đáng được quan tâm.
FPR =

FP
FP + TN

FNR =

FN
TP + FN

(2.1)

Ví dụ, trong bài tốn xác định có bệnh ung thư hay khơng thì việc khơng bị
sót quan trọng hơn là việc chẩn đốn nhầm âm tính thành dương tính. Hay trong
bài tốn lọc email rác thì việc cho nhầm email quan trọng vào thùng rác nghiêm
trọng hơn việc xác định một email rác là email thường.
Với các bài tốn có nhiều lớp dữ liệu, ta có thể xây dựng bảng True/False
Positive/Negative cho mỗi lớp nếu coi lớp đó là lớp Positive, các lớp còn lại gộp
chung thành lớp Negative.


2.2.2

Pixel Accuracy

Một cách đánh giá cơ bản cho bài tốn phân đoạn ảnh là tính tỉ lệ pixels
(voxel) của ảnh đó được phân loại đúng. Tuy nhiên trong bài tốn phân đoạn (cịn
gọi dense prediction) đôi khi độ đo accuracy không thể hiện được mô hình liệu có
hiệu suất tốt hay khơng vì xuất hiện các vấn đề như: mất cân bằng dữ liệu (một
lớp trong ảnh có tỉ lệ xuất hiện quá nhỏ so với lớp còn lại). Miền giá trị của độ đo

7


2.2. Đánh giá độ chính xác của việc gán nhãn
[0,1] (hay 0 − 100%).
accuracy =

2.2.3

TP + TN
TP + TN + FP + FN

(2.2)

Độ chính xác và độ truy hồi

Độ chính xác (precision) được định nghĩa là tỉ lệ số điểm được đánh giá là
True Positive trong những điểm được phân loại là positive. Độ truy hồi (recall)
được định nghĩa là tỉ lệ số điểm được đánh giá là true positive trong số những

điểm thực sự là positive.
Precision =

TP
TP + FP

Recall =

TP
TP + FN

(2.3)

Xét trường hợp precision = 1, có nghĩa là mọi điểm tìm được đều thực sự là
positive, tức khơng có điểm negative nào lẫn vào kết quả. Tuy nhiên vẫn chưa đủ
khẳng định là mơ hình thực sự tốt, vì nó khơng đánh giá những điểm positive thật
sự đã được phân loại đủ hay chưa. Do đó,nếu một mơ hình chỉ tìm được đúng một
điểm positive mà nó chắc chắn nhất thì ta khơng thể gọi nó là một mơ hình tốt.

8


×