Tiêu đề: HỖ TRỢ CHẨN ĐOÁN TỰ ĐỘNG TỔN THƯƠNG XUẤT HUYẾT/TỤ MÁU DỰA VÀO ẢNH CT NÃO
Các tác giả: GVHD:TS. Lê Hoài Bắc SVTH: Ngụy Đức Thuận
Tóm tắc: Theo [13], chấn thương là nguyên nhân tử vong hàng đầu ở trẻ em và người trẻ (dưới 44 tuổi), trong đó chấn thương vùng đầu chiếm trên 50% các ca tử vong, với di chứng nặng nề và chi phí y tế rất lớn. Để chẩn đoán, theo dõi, tiên lượng chấn thương đầu thật nhanh chóng và chính xác thì hình ảnh học ( gồm X quang, CT, MRI ) là dữ kiện cơ bản và quan trọng. Trong số đó, CT là khảo sát hình ảnh được lựa chọn đầu tiên và rất có giá trị trong đánh giá chấn thương sọ não, đặc biệt là chấn thương sọ não cấp [13]. Việc đọc phim CT hiện nay chủ yếu là do các bác sĩ chuyên khoa chẩn đoán hình ảnh thực hiện, với số ca mỗi ngày khá lớn. Với mỗi ca chấn thương đầu, số lượng ảnh phải chụp tối thiểu là 20, và bác sĩ phải quan sát qua tất cả các ảnh để tìm ra nhiều biểu hiện bất thường khác nhau. Từ những lý do đó, nhận thấy nhu cầu cho một công cụ trợ giúp chẩn đoán tự động, hỗ trợ các bác sĩ đưa ra những chẩn đoán chính xác và ít sai sót hơn. Điều này cũng phù hợp với xu thế hiện này là áp dụng công nghệ thông tin vào mọi lĩnh vực của đời sống, trong đó có lĩnh vực y khoa. Tuy vậy, cũng phải nhìn.nhận rằng đây là một vấn đề không hề dễ dàng, bởi vì bản thân các bác sĩ chuyên khoa cũng gặp nhiều khó khăn khi phân tích hình ảnh của các ca bệnh phức tạp. Vì vậy, mục tiêu của đề tài này chỉ mới dừng lại ở giai đoạn khai phá, tìm hiểu và thử nghiệm xây dựng hệ thống cho một số loại tổn thương tương đối đơn giản, cụ thể hơn là loại tổn thương xuất huyết và tụ máu
Mục lục
Lời cảm ơn 1
Mở đầu 2
Mục lục 4
Danh mục hình ảnh .6
Danh mục bảng biểu 7
Bảng kí hiệu các chữ viết tắt 8
Chương 1 : Giới thiệu – kiến thức tổng quan . 9
1.1 Xác định vấn đề và động cơ thúc đẩy 9
1.2 Một số kiến thức cơ bản .10
1.2.1 Nguyên lý tạo hình: .10
1.2.2 Tạo hình 10
1.2.3 Trị số đậm độ 11
1.2.4 Thay đổi đậm độ .12
1.2.5 Đặt cửa sổ (Window setting) 13
1.2.6 Độ dày lát cắt và khoảng cách lát cắt 13
1.2.7 Hình định vị 14
1.3 Hệ thống .15
1.4 Tiêu chuẩn đánh giá độ chính xác 18
1.4.1 Độ nhạy (sensitivity) .18
1.4.2 Độ đặc trưng (specificity) .18
1.4.3 Tỉ lệ vùng bệnh được phân lớp đúng 18
1.4.4 Tỉ lệ vùng bình thường được phân lớp đúng 19
Chương 2 : Cơ sở lý thuyết 20
2.1 Phân đoạn ảnh .20
2.2.1 Lọc ngưỡng .21
2.2.2 Phương pháp dựa vào biên 23
2.2.3 Phương pháp dựa trên vùng 24
2.2.4 Phương pháp thống kê và Bayes .26
2.2.5 Phương pháp mạng nơ ron và logic mờ 26
2.3 Làm mảnh biên .27
2.4 Biểu diễn đường biên .29
2.4.1 Biểu diễn bằng chain -code .29
2.4.2 Biểu diễn bằng dòng quét (scanline) .31
2.5 Các đặc trưng mô tả vùng (đường kính, chu vi, diện tích ) .32
2.5.1 Diện tích và chu vi 32
2.5.2 Khoảng cách xuyên tâm (radial distance) .33
2.5.3 Chiều dài trục chính và phụ 34
2.6 Cây quyết định 35
2.6.1 Giới thiệu về cây quyết định .35
2.6.2 Thuật toán ID3 38
2.7 Thông tin tương hỗ .43
42.8 Học dựa vào sự trình diễn 44
Chương 3 : Xây dựng hệ thống 46
3.1 Phân đoạn đơn giản 46
3.2 Học dựa vào sự trình diễn 47
3.2.1 Hệ thống học .47
3.2.2 Đặc trưng vùng 48
3.2.3 Phân lớp bằng thuật toán k-người láng giềng gần nhất 50
3.3 Dùng hệ luật để định vị vùng tổn thương .51
3.3.1 Hệ luật đơn giản 51
3.3.2 Hệ luật phức tạp 54
Chương 4 : Chương trình cài đặt – kết quả thử nghiệm 57
4.1 Chương trình cài đặt .57
4.1.1 Công cụ sử dụng .57
4.1.2 Cấu trúc dữ liệu học 57
4.1.3 Chương trình .57
4.2 Đánh giá kết quả .60
4.2.1 Độ hiệu quả của giai đoạn phân lớp 60
4.2.2 Đánh giá công việc 61
4.2.3 Hướng phát triển trong tương lai 62
Tài liệu tham khảo .63
Phụ lục . 65
A. Bệnh học .65
A.1 Tụ máu dưới màng cứng (Subdural Hematoma/SDH) .65
A.2 Tụ máu ngoài màng cứng (Epidural Hematoma/EDH) 66
A.3 Xuất huyết khoang dưới nhện (subarachnoid hemorrhage) .68
A.4 Xuất huyết trong não thất (intraventricular hemorrhage) .69
A.5 Tụ máu trong não (intracerebral hematoma) 69
B. Dữ liệu DICOM .71
B.1 Giới thiệu 71
B.2 Cấu trúc chung của tập tin DICOM 71
B.3 Một số thông tin cần thiết khi xử ảnh DICOM .72
C. Giải phẫu CT đơn giản vùng trên lều .76
5Danh mục hình ảnh
Hình 1-1: Hình định vị (topogram) 15
Hình 1-2: Mô hình hệ thống .16
Hình 2-1: Ảnh độ xám với: (a) 1 ngưỡng phân đoạn và (b) 2 ngưỡng phân đoạn 22
Hình 2-2: Mặt nạ Sobel 23
84 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 2710 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Khóa luận Hỗ trợ chẩn đoán tự động tổn thương xuất huyết/tụ máu dựa vào ảnh CT não, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
cho tất cả mọi điểm biên trong vùng đang xét.
Nếu có ít nhất 1 trong 4 điều kiện (a) – (d) bị vi phạm, ta giữ nguyên giá trị
điểm ảnh đó. Ngược lại, ta đánh dấu điểm ảnh đó và sau này nó sẽ bị xóa.
Lưu ý rằng ta chỉ xóa điểm ảnh khi tất cả các điểm biên đã được duyệt qua,
nhờ vậy dữ liệu không bị thay đổi trong quá trình xử lý. Sau khi thực hiện
xong bước 1, ta xóa tất cả các điểm đã đánh dấu và thực hiện tiếp bước 2
giống như đã thực hiện cho bước 1. Như vậy, quá trình thực hiện là một vòng
lặp liên tục gồm các giai đoạn sau:
i. Áp dụng bước 1 để đánh dấu điểm cần xóa.
ii. Xóa các điểm đã đánh dấu.
iii. Áp dụng bước 2 để đánh dấu điểm.
iv. Xóa các điểm đã được đánh dấu.
Thuật toán dừng khi không còn điểm nào được xóa nữa.
Điều kiện (a) bị vi phạm khi điểm biên p1 có 1 hoặc 7 điểm lân cận có
giá trị 1. Trường hợp 1 điểm lân cận đồng nghĩa với việc p1 là điểm cuối, và
28
do đó không thể xóa được. Tương tự, trong trường hợp p1 có 7 điểm lân cận,
nếu ta xóa nó sẽ gây ra lỗ hổng trong vùng đang xét. Điều kiện (b) không
thỏa khi điểm đang xét nằm trên vùng biên có độ dày bằng 1, và do đó nếu
xóa nó sẽ làm mất tính liên tục của đối tượng.
2.4 Biểu diễn đường biên
Cách lưu trữ ảnh thô thường thấy nhất là lưu trữ theo dạng ma trận.
Đây là lưu trữ chứa đựng được nhiều thông tin nhất (dù thông tin đó ở dạng
tiềm ẩn hoặc tường minh). Tuy vậy, trong trường hợp cần biểu diễn đường
biên của một đối tượng, phương pháp trên sẽ có những bất tiện như tốn nhiều
bộ nhớ và không thuận lợi cho xử lý. Trong phần dưới đây, ta sẽ tìm hiểu 2
phương pháp lưu trữ đường biên khá hiệu quả và có sử dụng trong chương
trình.
2.4.1 Biểu diễn bằng chain -code
Cách biểu diễn này dựa trên lân cận 4 và lân cận 8 của một điểm. Tùy
theo vị trí tương đối của một điểm so với điểm hiện tại mà hướng của nó sẽ
được mã hóa bằng 1 con số tương ứng như trong hình 2-5. Để xây dựng chain
code của một đường biên, trước hết ta cần chọn 1 điểm khởi đầu, ví dụ như
điểm ở góc trái trên của ảnh. Sau đó, ta duyệt lần lượt qua tất cả các điểm theo
chiều ngược chiều kim đồng hồ, gán mã cho nó theo một trong 2 kiểu trong
hình 2-5. Lấy ví dụ như trong hình 2-6, chain code tương ứng của nó là 5-6-5-
5-6-7-0-0-0-1-7-1-2-1-3-3-4-4-3.
29
Hình 2-6: Mã tương ứng với hướng của (a) chain code 4 hướng và (b) chain code 8 hướng
Hình 2-7: Ví dụ về chain code của đường biên, ở đây ta dùng chain code lân cận 8
Chain code tỏ ra rất hữu dụng khi dùng để xác định hướng của đường
biên tại một điểm, hoặc dùng để tính chu vi của vùng (xem 2.5.1). Tuy vậy,
nếu xét trong vấn đề mà chúng ta đang bàn, cách biểu diễn này không phù
hợp. Lí do là vì với cách biểu diễn này, thật khó có thể rút ra được các thông
tin cần thiết cho quá trình xử lý, chẳng hạn như khoảng cách từ một điểm
đến đường biên.
30
2.4.2 Biểu diễn bằng dòng quét (scanline)
Nguyên tắc tắc rất đơn giản: xem mỗi đối tượng là một tập hợp các dòng,
và thay vì lưu tất cả các điểm trong mỗi dòng, ta chỉ cần lưu chỉ số của dòng
đó, cùng với điểm bắt đầu và kết thúc tương ứng trong dòng.
Ví dụ: Xét ảnh trong hình 2-7, biểu diễn đường biên của nó theo dòng
quét của nó là:
1 5,6
2 4,7
3 3,8
4 3,9
5 4,7 7,9
6 4,6 8,8
7 5,5
Hình 2-8: Vùng và biểu diễn dòng quét của nó
31
Nhận thấy rằng cách biểu diễn này đã khắc phục những bất lợi của
phương pháp chain code, và đem đến cho ta những thuận lợi trong các phép
xử lý sau (vốn được sử dụng thường xuyên trong bài):
i. Tính diện tích vùng.
ii. Xác định một điểm là nằm trong hay ngoài vùng.
iii. Dễ dàng duyệt qua toàn bộ các điểm trong vùng.
2.5 Các đặc trưng mô tả vùng (đường kính, chu vi, diện tích…)
Trong phần này ta tìm hiểu về một số đặc trưng thường được dùng để
mô tả vùng. Các đặc trưng này rất hữu dụng cho việc phân lớp vùng và cung
cấp nhiều thông tin quan trọng để so sánh và phân lớp vùng trong ảnh nhị
phân. Hình 2-8 mô tả một vùng ảnh nhị phân điển hình.
Hình 2-9: Một số đặc trưng dùng để mô tả vùng
2.5.1 Diện tích và chu vi
Diện tích và chu vi là 2 trong số những đặc trưng được sử dụng nhiều
nhất cho những bài toán phân lớp trong ảnh nhị phân. Diện tích của một
vùng tương ứng với tổng số điểm ảnh thuộc vùng đó. Tương tự, chu vi của
vùng nhị phân bằng tổng số điểm ảnh nằm trên đường biên của vùng. Đối
với biên ảnh xác định bằng lân cận 4, ta có thể xuất phát từ một điểm tùy ý
32
trên biên, đếm tất cả các điểm dọc theo đường biên cho đến khi trở về điểm
ban đầu. Tuy vậy, vấn đề sẽ phát sinh nếu đường biên được tạo xác định
bằng lân cận 8. Khi đó, khoảng cách giữa 2 điểm kề nhau không phải lúc nào
cũng bằng 1 nữa, mà sẽ là 2 . Khi đó, ta có thể sử dụng cách mô tả đường
biên bằng chain code. Gọi Ne và No lần lượt là tổng số số chẵn và lẻ có trong
chuỗi (theo phần 2.4.1, số chẵn ứng với trường hợp 2 điểm liên tiếp cùng cột
hoặc cùng dòng, còn số lẻ ứng với trường hợp 2 điểm nằm theo đường chéo),
ta ước lượng chu vi theo công thức sau:
Chu vi = Ne + No 2
2.5.2 Khoảng cách xuyên tâm (radial distance)
Khoảng cách xuyên tâm là khoảng cách Euclide giữa tâm khối lượng
của vùng và tâm của hợp tất cả các vùng trong ảnh. Cách đơn giản nhất để
ước lượng tâm vùng là dùng giá trị trung bình của tọa độ các điểm của vùng
đó. Đối với ảnh nhị phân, ta có thể tính tâm khối lượng bằng cách dùng
moment. Moment (i,j) của vùng R được định nghĩa như sau:
∑∑=
x y
ji
ij yxRyx ),(μ
trong đó x và y là tọa độ của các điểm ảnh trong vùng. Khi đó, tâm khối
lượng có thể được tính như sau:
00
10
μ
μ=x
00
01
μ
μ=y
Khoảng cách xuyên tâm có thể được tính bằng cách sử dụng khoảng
cách Euclide de giữa tâm khối lượng của hợp tất cả các vùng và của vùng
đang xét theo công thức sau:
22 )()(),( lrlre yyxxurd −+−=
trong đó r và u tương ứng là vùng đang xét và vùng tổng hợp.
33
Bên cạnh đó, ta có thể sử dụng khoảng cách xuyên tâm chuẩn hóa
u
e
R
urd ),( , trong đó Ru là bán kính của vùng tổng hợp. Vì 00μ là diện tích của
vùng, suy ra Ru có thể được xấp xỉ theo công thức π
μ
4
00=uR , với giả định
rằng vùng tổng hợp có dạng hình tròn.
2.5.3 Chiều dài trục chính và phụ
Chiều dài trục chính và phụ là những đặc trưng rất quan trọng và có
thể được ước lượng bằng cách sử dụng các giá trị riêng. Trước hết, một vùng
sẽ được biểu diễn như là một tập các điểm {(x1, y1), (x2, y2), (x3, y3), . . . , (xn,
yn)} và giả sử rằng các điểm này được biểu diễn bởi một vector ngẫu nhiên
S = [x, y]. Gọi C là ma trận hiệp phương sai của vector đó:
⎟⎟⎠
⎞
⎜⎜⎝
⎛=
0211
1120
μμ
μμ
C
trong đó:
∑∑ −−=
x y
yyxx ))((11μ
∑∑ −=
x y
xx 220 )(μ
∑∑ −=
x y
yy 202 )(μ
với x và y là tâm của vùng đang tính. Vector riêng của ma trận hiệp
phương sai cho ta hướng của 2 trục chính và phụ. Chiều dài của các trục
bằng với căn bậc hai của các giá trị riêng của ma trận hiệp phương sai.
34
Hình 2-10: Trục chính và trục phụ hình ellipse.
2 vector e1 và e2 là 2 vector riêng của ma trận hiệp phương sai.
2.6 Cây quyết định
2.6.1 Giới thiệu về cây quyết định
Cây quyết định là một cây đồ thị trong đó mỗi nút bên trong đại diện
cho một điểm quyết định và mỗi nút lá tương ứng với một nhãn (lớp) sẽ được
gán cho mỗi bộ dữ liệu nhập. Mỗi nút của cây là một phép thử (so sánh) của
một thuộc tính nào đó, và nhánh trổ xuống từ nút đó đại diện cho những giá trị
có thể có của thuộc tính này. Để xây dựng được cây quyết định, ta cần có một
tập dữ liệu được phân lớp trước (dữ liệu học). Việc xây dựng các cây quyết
định chính là quá trình phát hiện ra các luật phân chia tập dữ liệu đã cho thành
các lớp đã được định nghĩa trước.
Việc sinh cây quyết định bao gồm hai giai đoạn:
i. Xây dựng cây:
• Tại thời điểm khởi đầu, tất cả các ca ( case ) dữ liệu học
đều nằm tại gốc.
• Các ca dữ liệu được phân chia đệ qui trên cơ sở các
thuộc tính được chọn.
35
ii. Rút gọn cây:
• Phát hiện và bỏ đi các nhánh chứa các điểm dị thường
và nhiễu trong dữ liệu.
Hầu hết các thuật toán dựa vào qui nạp hiện có đều sử dụng phương
pháp của Hunt dùng để xây dựng một cây quyết định từ một tập T các ca học
với các lớp được kí hiệu là {C1,C2,……Cn}.
- Trường hợp 1: T chứa một hoặc nhiều ca, tất cả đều thuộc về một lớp
đơn C1: Cây quyết định T là một lá định dạng lớp C1.
- Trường hợp 2: T không chứa ca nào: Cây quyết định cho T là một lá,
nhưng lớp được gắn với lá này phải được xác định từ các thuộc tính
không thuộc T.
- Trường hợp 3: T chứa các ca thuộc về một hỗn hợp các lớp: Một phép
thử được lựa chọn dựa vào một thuộc tính đơn có một hoặc nhiều kết
quả ( giá trị ) loại trừ lẫn nhau {O1,O2,….On}. T được phân chia thành
các tập con T1, T2, ….Tn trong đó T1 chứa tất cả các ca trong T có kết
quả O1 của phép thử đã chọn. Cây quyết định cho T gồm một đỉnh
quyết định định danh cho phép thử, và một nhánh cho mỗi kết quả có
thể có. Cơ chế xây dựng cây này được áp dụng đệ qui cho từng tập
con của các ca học.
Bảng 2-1 là một tập dữ liệu học của một ví dụ về thi đấu tennis với năm
thuộc tính và hai lớp ( thuộc tính Ngày được sử dụng làm định danh cho các
ca ). Hình 2-10 chỉ ra cách làm việc của thuật toán Hunt, một phép thử dựa
trên thuộc tính đơn được chọn để khai triển đỉnh hiện hành.
36
Ngày Quang cảnh Nhiệt
độ
Độ ẩm ( %) Gió to Kết quả
N1 Nắng 24 70 Không Thi đấu
N2 Nắng 27 90 Có Không thi đấu
N3 Nắng 30 85 Không Không thi đấu
N4 Nắng 22 95 Không Không thi đấu
N5 Nắng 20 70 Không Thi đấu
N6 Nhiều mây 22 90 Có Thi đấu
N7 Nhiều mây 28 75 Không Thi đấu
N8 Nhiều mây 18 65 Có Thi đấu
N9 Nhiều mây 28 75 Không Thi đấu
N10 Mưa 21 80 Có Không thi đấu
N11 Mưa 18 70 Có Không thi đấu
N12 Mưa 24 80 Không Thi đấu
N13 Mưa 20 80 Không Thi đấu
N14 Mưa 21 96 Không Thi đấu
Bảng 2-1: Dữ liệu minh họa cho cây quyết định
Hình 2-11: Minh họa phương pháp của Hunt
37
2.6.2 Thuật toán ID3
Thuật toán ID3 ( Quinlan86 ) là một trong những thuật toán xây dựng cây
quyết định sử dụng information gain để lựa chọn thuộc tính phân lớp đối
tượng. Nó xây dựng cây theo cách từ trên xuống, bắt đầu từ một tập các đối
tượng và đặc tả của các thuộc tính. Tại mỗi đỉnh của cây, một thuộc tính có
information gain lớn nhất sẽ được chọn để phân chia tập đối tượng. Quá trình
này được thực hiện một cách đệ qui cho đến khi một tập đối tượng tại một
cây con đã cho trở nên thuần nhất, tức là nó chỉ chứa các đối tượng thuộc về
cùng một lớp. Lớp này sẽ trở thành một lá của cây.
Việc lựa chọn một thuộc tính nào cho phép thử là rất quan trọng. Nếu
chọn không thích hợp, chúng ta có thể có một cây rất phức tạp. Ví dụ, nếu ta
chọn thuộc tính Nhiệt độ làm gốc cây thì cây quyết định sẽ có hình dạng như
trong hình 2-11. Nhưng nếu chọn thuộc tính Quang cảnh làm gốc thì ta lại
có một cây quyết định tất đơn giản như đã chọn trong hình 2-10. Vậy nên
chọn thuộc tính nào là tốt nhất?
Thông thường việc chọn thuộc tính đều dựa vào một độ đo gọi là
Entropy Gains hay còn gọi là Information Gains của các thuộc tính.
Entropy của một thuộc tính được tính toán từ các thuộc tính phân lớp. Đối
với thuộc tính rời rạc, cần phải có các thông tin phân lớp của từng giá trị
thuộc tính.
Lớp
Giá trị thuộc tính Thi đấu Không thi
đấu
Nắng 2 3
Nhiều mây 4 0
Mưa 3 2
Bảng 2-2: Thông tin phân bố thuộc tính quang cảnh
38
Lớp
Giá trị thuộc
tính
Phép thử nhị
phân
Thi đấu
Không thi
đấu
65 1 0
> 8 5
70 3 1
> 6 4
75 5 1
> 4 4
78 5 1
> 4 4
80 7 2
> 2 3
85 7 3
> 2 2
90 8 4
> 1 1
95 8 5
> 1 0
96 9 5
> 0 0
Bảng 2-3: Thông tin phân bố lớp của thuộc tính Độ ẩm
Bảng 2-2 cho thấy thông tin phân lớp của thuộc tính Quang cảnh. Đối với
một thuộc tính liện tục. chúng ta phải xét phép thử nhị phân đối với tất cả các
giá trị khác nhau của thuộc tính. Bảng 2-3 chỉ ra thông tin phân lớp của thuộc
tính Độ ẩm.
39
Một khi đã thu nhận được các thông tin phân lớp của tất cả các thuộc tính,
chúng ta sẽ tính Entropy. Một thuộc tính với Entropy lớn nhất sẽ được chọn làm
một phép thử để khai triển cây.
2.6.2.1 Hàm Entropy
Hàm Entropy xác định tính không thuần khiết của một tập các ca dữ
liệu bất kỳ. Chúng ta gọi S là tập các ca dương tính ( ví dụ Thi đấu ) và âm
tính ( ví dụ Không thi đấu ). P(+) là tỉ lệ các ca dương tính S, P(-) là tỉ lệ âm
tính S.
Entropy(S) = -P(+)log 2 P(+) – P(-)log 2 P(-)
Ví dụ 1. Trong Bảng 2-1 của ví dụ thi đấu tennis, tập S có 9 ca dương
và 5 ca âm ( ký hiệu là [9+,5-]).
Entropy(S) = Entropy([9+,5-]) = -
14
9 log 2 14
9 -
14
5 log 2 14
5 = 0.940
Hình 2-12: Một cây quyết định chọn nhiệt độ làm gốc
Nhận xét. Entropy bằng 0 nếu tất cả các ca trong S đều thuộc về cùng
một lớp. Chẳng hạn như, nếu tất cả các ca đều dương thì P(+) = 1 và P(-) = 0,
do vậy:
Entropy(S) = -1log 2(1) – 0log 2 (0) = 0
40
Entropy bằng 1 nếu tập S chứa số ca dương và âm bằng nhau. Nếu số
các ca này khác nhau thi Entropy nằm giữa 0 và 1.
Trường hợp tổng quát, nếu S bao gồm c lớp thì Entropy của S được
tính bằng công thức sau:
Entropy(S) = ∑ -P
=
n
i 1
ilog 2 Pi
trong đó Pi là tỉ lệ thuộc tính I trong tập S.
2.6.2.2 Độ đo (Informatic Gain)
Đo mức độ hiệu quả của một thuộc tính trong bài toán phân lớp dữ
liệu. Đó chính là sự rút gọn mà ta mong đợi khi phân chia các ca dữ liệu theo
thuộc tính này. Nó được tính theo công thức sau đây:
Gains(S,A) = Entropy(S) - ∑
)( AValue
r
S
S
Entropy(S)
trong đó Value(A) là tập tất cả các giá trị có thể có đối với thuộc tính
A và Sr là tập con của S mà A có giá trị là v.
Ví dụ 2.
Value(Gió to) = { true,false},S=[9+,5-]
Strue là đỉnh con với giá trị là “true”, bằng [2+,3-]
Sfalse là đỉnh con với giá trị là “false”, bằng [7+,2-]
Gaint(S,Gió to) = Entropy(S) - ∑
)( AValue
r
S
S
Entropy(S)
= Entropy(S) -
14
5 * Entropy(Strue) - 14
9 *
41
Entropy(Sfalse) = 0.940 - 14
5 *0.97 -
14
9 *0.764
= 0.1024
Tương tự như vậy, ta có thể tính được độ đo cho các thuộc tính còn lại
của ví dụ trong Bảng 1. Đối với thuộc tính Độ ẩm. ta lấy độ ẩm 75% để chia
các ca thành hai phần, một phần ứng với các ca có độ ẩm ≤ 75% được gọi là
độ ẩm Bình thường ( [5+,1-] ), phần còn lại được gọi là có độ ẩm Cao
( [4+,4-] ). Còn đối với thuộc tính Nhiệt độ, ta sẽ chia thành ba mức, các
ngày có nhiệt độ nhỏ hơn 210 được gọi là Lạnh(4 ngày), các ngày có nhiệt độ
lớn hơn hay bằng 210 đến nhỏ hơn hoặc bằng 270 được gọi là Ấm (6 ngày),
và còn lại là những ngày có nhiệt độ lớn hơn hoặc bằng 270 được gọi là Nóng
(4 ngày).
Gain(S,Quang cảnh) = 0.246
Gain(S,Gió to) = 0.1024
Gain(S,Nhiệt độ) = 0.029
Gain(S,Độ ẩm) = 0.045
Từ đây ta thấy rằng độ đo của S đối với thuộc tính Quang cảnh là lớn
nhất trong số 4 thuộc tính. Như vậy, có thể quyết định chọn Quang cảnh làm
thuộc tính đầu tiên khai triển cây, Hình 2-12 là khai triển của cây quyết định
theo thuộc tính Quang cảnh.
Tương tự như vậy, ta có thể tiến hành triển khai các nút ở mức tiếp
theo:
Snắng = {N1, N2, N3, N4, N5}
Entropy(Snắng) = - 5
2 log 2 5
2 -
5
3 log 2 5
3 = 0.970
Gain(Snắng , Độ ẩm) = 0.970 - 5
3 *0.0 -
5
2 *0.0 = 0.970
42
Gain(Snắng , Nhiệt độ) = 0.970 - 5
2 *0.0 -
5
2 *1.0 -
5
1 *0.0 = 0.570
Gain(Snắng , Gió to) = 0.970 - 5
2 *1.0 -
5
3 *0.918= 0.019
Từ các giá trị của Entropy Gain, ta thấy Độ ẩm là thuộc tính tốt nhất
cho đỉnh nằm dưới nhánh Nắng của thuộc tính Quang cảnh.
Tiếp tục quá trình trên cho tất cả các đỉnh và sẽ dừng khi không còn
đỉnh nào có thể khai triển được nữa. Cây kết quả sẽ có dạng như phần c) của
hình 2-12.
2.7 Thông tin tương hỗ
Cho trước một biến ngẫu nhiên X = {x1, …, xn}. Ta định nghĩa công
thức tính entropy Shannon như sau:
∑
=
−=
n
i
ii ppXH
1
log)(
với pi = Pr[X = xi] và n là lực lượng của X. Độ đo entropy này thể hiện độ
thông tin trung bình hay là độ không chắc chắn của biến ngẫu nhiên. Bây giờ
ta xét thêm một biến ngẫu nhiên Y = {y1, …, yn}. Ta định nghĩa entropy có
điều kiện với p∑∑
= =
−=
m
j
n
i
jiij ppYXH
1 1
|log)|( i|j = Pr[X = xi|Y=yj ] là xác suất có
điều kiện và entropy hợp với p∑∑
= =
−=
n
i
m
j
ijij ppYXH
1 1
log),( ij = Pr[X = xi,
Y=yj].
Thông tin tương hỗ giữa X và Y được xác định theo công thức:
∑∑
= =
=
n
i
m
j ji
ij
ij qp
p
pYXI
1 1
log),(
Dễ thấy I(X,Y) = H(X) – H(X|Y) = H(Y) – H(Y|X) nên còn được gọi
là thông tin chia sẻ giữa X và Y.
43
Một kết quả cơ bản của lý thuyết thông tin là bất đẳng thức về xử lý
thông tin có thể được diễn tả dưới dạng sau: nếu X -> Y -> Z là chuỗi
Markov, nói cách khác p(x,y,z) = p(x)p(y|x)p(z|y) thì:
),(),( ZXIYXI ≥
Kết quả này nói lên rằng không tồn tại cách xử lý Y nào, dù là ngẫu
nhiên hay chủ ý, có thể làm tăng thông tin Y chứa về X.
Ở phần 3.4, ta sẽ bàn về cách sử dụng thông tin tương hỗ này
vào bài toán phân vùng ảnh.
2.8 Học dựa vào sự trình diễn
Theo [4], một vấn đề quan trọng khi xây dựng những hệ thống dựa
vào tri thức là giai đoạn thu thập tri thức. Đây là một thách thức lớn và là
một đề tài thu hút nhiều quan tâm trong lĩnh vực máy học cũng như trí tuệ
nhân tạo. Thông thường, người kĩ sư tri thức cần có một chuyên gia trình bày
những hiểu biết chuyên môn của mình và dựa vào đó để xây dựng cơ sở tri
thức. Đây là quá trình khá buồn tẻ và thường có nhiều sai sót. Cách trình bày
của chuyên gia có thể không hoàn toàn chính xác, không hoàn chỉnh và có
thể không được hiểu đúng bởi người kĩ sư tri thức. Trong nhiều trường hợp,
các chuyên gia có khuynh hướng thực hiện hành động hơn là giải thích về
chuyên môn của mình. Những vấn đề trên thúc đẩy chúng ta tìm kiếm một
giải pháp khác cho bài toán xây dựng cơ sở tri thức: thay vì thu thập các tri
thức dưới dạng trao đổi với chuyên gia, ta sẽ yêu cầu họ trình diễn các tri
thức của mình thông qua các hành động mà hệ thống có thể quan sát và ghi
nhận lại được. Cách tiếp cận này gọi là phương pháp học dựa vào trình diễn
(learning by demonstration).
Nhiều dạng máy học có thể xem như là một hình thức tương tác giữa
giáo viên và học sinh: người giáo viên đưa ra các ví dụ và máy tính (hoặc
học sinh) tổng quát hóa những ví dụ đó để tạo thành tri thức cho riêng mình.
Sau đó, giáo viên sẽ kiểm tra khả năng của học sinh bằng cách đưa ra những
44
bài kiểm tra và xem xét kết quả thực hiện của học sinh. Trong suốt quá trình
học, thường thì không có bất kì một phản hồi nào từ phía người học sinh về
mức độ kiến thức mà họ đã tiếp thu được, do đó cách học này có thể làm
lãng phí nhiều tài nguyên, thời gian và công sức. Cách học dựa vào trình diễn
là một bước phát triển cao hơn của mô hình tương tác trên: người học sinh
yêu cầu giáo viên giải một ví dụ nào đó và bằng cách quan sát cách giải
quyết của giáo viên, học sinh sẽ tổng quát thành kiến thức cho mình. Lợi thế
của của cách học này là học sinh có thể định hướng trực tiếp được những
phần chưa hiểu để giáo viên tập trung vào đó. Nhờ vậy, vai trò của người học
sinh trong quá trình học là chủ động chứ không phải bị động.
45
Chương 3 : Xây dựng hệ thống
Phần đầu tiên của hệ thống là module dò tìm vùng tổn thương bằng
phương pháp lọc ngưỡng. Nhiệm vụ của bộ lọc này là tìm ra những vùng có
độ đo Hounsfield nằm trong ngưỡng của tổn thương đang được dò tìm. Do
ảnh hưởng của hiệu ứng thể tích từng phần nên sẽ có khá nhiều vùng bị nhận
lầm. Chính vì vậy, nhiệm vụ của module tiếp theo chính là để loại ra những
vùng bị phát hiện nhầm đó. Ở đây ta sử dụng thuật toán k-người láng giềng
gần nhất để tạo bộ phân lớp. Bộ phân lớp này được xây dựng dựa vào
phương pháp học bằng sự trình diễn: kết quả của bộ lọc thứ nhất sẽ được
hiển thị, và các chuyên gia (bác sĩ chẩn đoán hình ảnh), bằng tri thức và kinh
nghiệm của mình, sẽ quyết định xem vùng nào sẽ bị loại bỏ và vùng nào sẽ
được giữ lại. Đặc trưng của những vùng này, cùng với thông tin về hành
động tương ứng tách động lên nó (giữ hay xóa) sẽ được lưu lại tạo thành dữ
liệu học.
Sau khi loại bỏ các vùng bị nhận dạng nhầm, ta sẽ tiến hành đo các
thông tin định tính về vùng đó, sau đó sử dụng hệ luật để định vị vùng tổn
thương đó trong não. Do vấn đề thời gian nghiên cứu, hệ luật này chỉ mới
được xây dựng ở mức độ đơn giản, dựa vào các quan sát trên hình ảnh và
tiêu bản não. Để xây dựng được hệ luật phức tạp hơn, một lần nữa phương
pháp học bằng sự trình diễn sẽ được dùng đến.
3.1 Phân đoạn đơn giản
Dữ liệu sau khi tiền xử lý sẽ được cho qua bộ phân đoạn để xác định
vùng chấn thương thứ nhất. Module này sử dụng phương pháp lọc ngưỡng để
phát hiện ra các vùng xuất huyết/tụ máu. Phương pháp này được chọn vì nó
có những ưu điểm sau:
a. Như đã trình bày trong bảng 1-1, mỗi một cấu trúc trong não sẽ có độ
hấp thụ đối với tia X khác nhau, tức là có đậm độ khác nhau. Như vậy,
ngưỡng đậm độ của tổn thương xuất huyết/tụ máu là đã xác định được,
46
mà ta biết rằng xác định ngưỡng chính là bước quan trọng và khó
khăn nhất trong cách tiếp cận này.
b. Cài đặt đơn giản, tốc độ cao, không cần dữ liệu học.
c. Qua thử nghiệm, với ngưỡng cho tổn thương xuất huyết/tụ máu như
trong bảng 1-1 thì tất cả những vùng bị tổn thương đều được phát hiện,
không bỏ sót vùng nào.
Tuy vậy, bộ phân đoạn đơn giản này cũng có một khuyết điểm quan
trọng: phân đoạn nhầm một số vùng khác. Nguyên nhân chính gây ra sai sót
này là do hiện tượng gọi là hiệu ứng thể tích từng phần. Một ví dụ về hiện
tượng này là trường hợp những vùng nhu mô não (vốn có đậm độ chỉ khoảng
30-45) nhưng nếu nằm kế bên vùng xương (có đậm độ cao hơn rất nhiều, từ
250 trở lên) thì đậm độ của vùng nhu mô đó sẽ tăng lên. Đó chính là lí do mà
những vùng như mô não nằm cạnh xương sọ sẽ bị nhận lầm là vùng tổn
thương xuất huyết/tụ máu. Loại bỏ những vùng này chính là nhiệm vụ của
module tiếp theo: phân lớp bằng K người láng giềng gần nhất với dữ liệu học
thu được bằng phương pháp học dựa vào sự trình diễn.
3.2 Học dựa vào sự trình diễn
Như đã nói, mọi phương pháp máy học đều bao gồm 2 giai đoạn: giai
đoạn học và giai đoạn hoạt động. Trong hệ thống của chúng ta, giai đoạn học
sẽ được thực hiện trên một hộp thoại riêng, và những tri thức thu được từ
người sử dụng sẽ được lưu lại để sử dụng cho quá trình chẩn đoán thật sự ở
màn hình chính.
3.2.1 Hệ thống học
Để thu nhận tri thức từ chuyên gia cho hệ thống học dựa vào sự trình
diễn, ta cần xây dựng một giao diện tương tác trực tiếp với người sử dụng.
Dữ liệu nhập cho hệ thống này là kết quả từ module phân đoạn đơn giản ở
trên, gồm dữ liệu về các lát cắt CT cùng những vùng tụ máu/xuất huyết đã
được phát hiện (bao gồm cả những vùng bị phát hiện nhầm). Chuyên gia sẽ
47
sử dụng những kiến thức chuyên môn của mình để quyết định hành động sẽ
được thực hiện lên mỗi vùng (gồm một trong 2 hành động là xóa hoặc giữ
lại). Bên cạnh đó, chương trình sẽ tính toán các đặc trưng cần thiết của mỗi
vùng. Tại mỗi vùng, kết hợp hành động với đặc trưng ta sẽ có một mẫu học.
Những mẫu này sẽ được lưu lại và trở thành dữ liệu học cho một phương
pháp phân lớp nào đó, ví dụ như mạng nơ ron, cây quyết định hoặc k-người
láng giềng gần nhất…
Hình 3-1: Ảnh CT qua bộ lọc thứ nhất, trong đó màu đỏ biểu diễn cho vùng bệnh
và màu xanh ứng với những vùng bị nhận nhầm
3.2.2 Đặc trưng vùng
Bên cạnh những đặc trưng đã nêu ra trong phần 2.5, sẽ có thêm một số
đặc trưng khác được sử dụng:
48
3.2.2.1 Đậm độ lớn nhất, nhỏ nhất, trung bình của vùng
Ứng với mỗi vùng, ta sẽ tính các thông số về đậm độ lớn nhất, nhỏ nhất
và trung bình của nó. Do mỗi vùng được lưu theo dạng dòng quét nên việc
duyệt qua tất cả các điểm ảnh và tính ra các giá trị này khá đơn giản.
3.2.2.2 Diện tích của vùng
Đặc trưng này đã được trình bày trong phần trong phần 2.5. Đặc trưng
này cho ta biết độ lớn nhỏ của vùng.
3.2.2.3 Khoảng cách gần nhất
Nhớ rằng do hiệu ứng thể tích từng phần nên những vùng nhu mô não ở
quá gần vùng xương sọ sẽ bị ảnh hưởng tăng đậm độ, do đó sẽ là hợp lý nếu
ta tìm khoảng cách từ một vùng đến vùng sọ gần nhất của nó. Vấn đề cần
quan tâm nhất là điểm nào trong vùng sẽ được chọn làm mốc để tính khoảng
cách tới vùng xương. Ở đây ta chọn điểm trung tâm của vùng, với điểm trung
tâm được xác định như là “điểm giữa của dòng quét giữa của vùng”. Ví dụ:
vùng đó có 9 dòng quét và dòng quét thứ 5 có 7 điểm thì điểm thứ 4 của
dòng quét 5 chính là điểm được chọn.
3.2.2.4 Đậm độ trung bình của vùng nội sọ (vùng nhu mô não)
Cũng xuất phát từ ảnh hưởng của hiệu ứng thể tích toàn phần nên đậm
độ ở những lát cắt trên cùng sẽ tăng cao (do gần với vùng sọ đỉnh), và dĩ
nhiên những vùng tụ máu/xuất huyết ở đây cũng sẽ có đậm độ cao hơn. Từ
đó, ta nhận thấy rằng đậm độ trung bình của vùng nhu mô não sẽ đóng vai
trò quan trọng, và phản ánh tương đối vị trí của lát cắt đó trong não ( lát cắt
càng cao thì đậm độ trung bình càng lớn, tuy nhiên nó cũng sẽ bị ảnh hưởng
bởi nhiều yếu tố khác, chẳng hạn như những tổn thương có biểu hiện là giảm
đậm độ…) cũng như là đậm độ của vùng tụ máu/xuất huyết được phát hiện.
49
Qua quá trình thử nghiệm, vector đặc trưng của mỗi vùng gồm 3 đại
lượng sau: diện tích vùng, trung bình đậm độ, và khoảng cách nhỏ nhất.
3.2.3 Phân lớp bằng thuật toán k-người láng giềng gần nhất
Sau khi thu thập đầy đủ dữ liệu học, bây giờ ta có thể sử dụng nó cho hệ
thống của mình. Cụ thể hơn, ta sẽ sử dụng dữ liệu học này để phân lớp
những vùng tổn thương đã được phát hiện ở bộ phân đoạn đơn giản. Mỗi
vùng sẽ được phân vào một trong hai lớp: lớp xóa (tương ứng với việc xóa
bỏ vùng đó, do nó không phải là bệnh) và lớp giữ (đây đúng là vùng bị tổn
thương). Phương pháp được chọn ở đây là sử dụng thuật toán k-người láng
giềng gần nhất.
Cách hoạt động của thuật toán k-người láng giềng gần nhất như sau:
Với mỗi vùng được đưa vào, ta sẽ tính toán khoảng cách giữa vector đặc
trưng của vùng đó với tất cả các vector trong bộ dữ liệu học đã cho, và chọn
ra k vector có khoảng cách nhỏ nhất. Lần lượt đếm số lần xuất hiện của các
mẫu giữ và mẫu xóa trong k vector này và hành động xuất hiện nhiều hơn sẽ
được chọn là hành động sẽ tác động lên mẫu cần phân lớp.
3.2.3.1 Chọn lựa k
Chọn k bằng bao nhiêu là một vấn đề quan trọng của thuật toán k-người
láng giềng gần nhất. Ở trường hợp tới hạn với k = 1, ta có thuật toán người
láng giềng gần nhất. Nói chung, việc chọn k là một vấn đề phụ thuộc từng
bài toán cụ thể, và giá trị k tốt nhất chỉ có thể xác định dựa vào phương pháp
thử sai.
Qua quan sát, người ta đã đưa ra một số giá trị k tỏ ra khá tốt với nhiều
bài toán khác nhau, một trong số đó là cách chọn k = n . Riêng trong bài
này, với số lượng mẫu học khoảng 600, sau quá trình thử nghiệm em chọn k
bằng 7.
50
3.2.3.2 Tính khoảng cách giữa hai vector
Cùng với cách chọn giá trị cho k thì việc xác định công thức tính
khoảng cách giữa 2 vector đặc trưng (nói cách khác, là độ tương tự giữa 2
mẫu) cũng đóng vai trò quan trọng. Cách tính quen thuộc nhất là dùng
khoảng cách Euclide: nếu gọi u và v là 2 vector cần tính khoảng cách, mỗi
vector có n thành phần thì khoảng cách Euclide được tính theo công thức
sau:
(4.3) )()(2 vuvuDist T −−=
Nhận xét rằng trong công thức trên, tất cả các đặc trưng đều có một vai
trò như nhau. Tuy vậy, trong thực tế (cũng như trong vấn đề mà ta đang xét),
thường sẽ có những đặc trưng giữ vai trò quan trọng hơn các đặc trưng còn
lại. Chẳng hạn, một vùng càng nằm gần sọ não thì càng có nhiều khả năng đã
bị phát hiện lầm ở bước phân đoạn trước, như vậy hệ số cho đại lượng này
trong công thức tính khoảng cần phải lớn hơn. Mặt khác, nếu vùng đó nằm
gần não, nhưng có diện tích lớn khá lớn thì nhiều khả năng đó là tổn thương
tụ máu dưới/ngoài màng cứng nên cần được giữ lại, như vậy hệ số về tương
ứng với diện tích cũng phải cao.
Để tính khoảng cách giữa 2 vector mà trong đó các đặc trưng có vai trò
khác nhau, ta dùng công thức sau:
)()(2 vuWvuDist T −−= (4.4)
trong đó W là ma trận đường chéo, và phần tử wii của nó sẽ tương ứng với hệ
số mà đặc trưng thứ i được nhận.
3.3 Dùng hệ luật để định vị vùng tổn thương
3.3.1 Hệ luật đơn giản
Muốn đưa ra được lời mô tả hình ảnh, ta xác định vị trí của vùng tổn
thương trong não (ví dụ: nằm ở vùng thùy chẩm hay thùy thái dương…). Ở
mức đơn giản, bằng các quan sát thực tế, ta có thể đưa ra một số luật cơ bản.
51
Hiện các luật này được xây dựng chủ yếu dựa vào thông tin về vị trí tương
đối của một vùng so với sọ não.
Nằm lệch về bên trái hay bên phải, phía trên hay phía dưới của
sọ.
Nhờ vào thông tin về vị trí các lát cắt: lát cắt đầu tiên, cuối
cùng…
Trường hợp vị trí của vùng tổn thương không rõ ràng, ta sẽ chỉ
kết luận nó thuộc về bán cầu não trái hoặc bán cầu não phải.
Với những lát cắt đầu tiên (hình 3-2), những vùng chúng ta cần định vị
gồm có bán cầu tiểu não, thùy thái dương phải và thùy thái dương trái. Do đã
có được đường biên của xương sọ nên ta dễ dàng xác định được vị trí tương
đối của một vùng là nằm về phía trái, phía phải, hay bên dưới (lấy mốc là sọ
não). Ví dụ về các luật trong trường hợp này là:
Ví dụ:
NẾU vùng nằm về phía dưới THÌ nó thuộc tiểu não
NẾU vùng nằm về phần trên và lệch về phía phải THÌ nó thuộc
về thùy thái dương (P).
Với các lát cắt tiếp theo, ta xác định các vùng theo hình 3-3, với các vị
trí có thể là thùy trán, thùy thái dương phải và trái, thùy chẩm và vùng não
thất. Với cách phân vùng như trong hình 3-3, ta có một luật ví dụ như sau:
Ví dụ:
NẾU vùng thuộc về phân vùng trên cùng THÌ nó thuộc về thùy
trán.
Lên cao nữa, ở những lát cắt cuối cùng như hình 3-4, ta định vị một
vùng duy nhất là thùy đỉnh.
Nếu một vùng tổn thương nằm trên nhiều vùng khác nhau của não thì vị
trí được xác định sẽ là hợp của các vị trí đó lại với nhau, chẳng hạn “thái
dương-trán” hay “thái dương-chẩm”.
52
Hình 3-2: Minh họa lát cắt đầu tiên vùng trên lều
Hình 3-3: Minh họa cách phân vùng các lát cắt giữa
53
Hình 3-4: Hình minh họa lát cắt trên cùng (thùy đỉnh)
3.3.2 Hệ luật phức tạp
Có thể thấy rằng những luật này đều có độ chính xác tương đối. Nếu
như muốn mô tả vị trí của tổn thương cụ thể hơn, thì rõ ràng hệ luật sẽ phức
tạp hơn và không thể xây dựng bằng phương pháp quan sát như trên được. Dĩ
nhiên, cách thức truyền thống trong trường hợp này là yêu cầu bác sĩ chuyên
môn trợ giúp. Tuy nhiên, một vấn đề khác lại xuất hiện là bản thân các tri
thức của bác sĩ đều mờ, và họ rất khó trình bày được cách họ suy luận để đi
đến kết luận như thế. Nếu nói đến vấn đề giải quyết thông tin mờ, ta sẽ nghĩ
ngay đến công cụ logic mờ. Tuy vậy, ở đây em muốn thử nghiệm một cách
giải quyết khác: sử dụng lại một lần nữa phương pháp học dựa vào sự trình
diễn. Quá trình thực hiện như sau:
1. Phân vùng ảnh ra thành nhiều vùng con.
2. Yêu cầu chuyên gia đánh dấu mỗi vùng, số lượng nhãn phụ
thuộc vào mức độ chi tiết các bộ phận mà ta muốn định vị.
3. Lưu thông tin các vùng để tạo thành dữ liệu học.
4. Tạo ra cơ sở luật bằng cách dùng phương pháp cây quyết
định (thuật toán ID3 đã trình bày ở 2.7.2).
54
5. Khi định vị, ta chỉ cần phân vùng ảnh theo cách đã làm khi
học, xác định phân vùng chứa tổn thương, tính toán các đặc
trưng và sử dụng hệ luật đã xây dựng để định vị.
Ta nhận thấy cần phải tìm một phương pháp phân vùng ảnh sao cho
thỏa 2 điều kiện sau:
- Không quá lớn để nhiều bộ phận khác nhau của não bị rơi
vào chung một vùng.
- Không quá nhỏ vì như vậy sẽ tạo thành quá nhiều phân,
mỗi vùng sẽ không mang đầy đủ đặc trưng của nó, làm tăng
thời gian xử lý.
Cách thực hiện là sử dụng thông tin tương hỗ (đã trình bày ở phần
2.8). Ý tưởng chính như sau: xem ảnh ban đầu như một vùng duy nhất, ta
tiến hành chia ảnh theo 2 chiều ngang hoặc dọc dựa theo độ tăng cực đại của
thông tin tương hỗ.
Các tập biến ngẫu nhiên X và Y được xác định như sau:
X:
N
np ii = là histogram i của ảnh (bin i).
Y:
N
qi
1=
Suy ra:
- pj|i là xác suất chuyển từ bin i của histogram sang pixel j.
- I(X,Y) = H(X) vì cho trước 1 điểm ảnh, sẽ không có bất
cứ sự không chắc chắn nào về histogram bin tương ứng
của nó.
Kết quả thu được [7] sẽ tùy vào điều kiện dừng của thuật toán. Sau đây
là một số kết quả:
55
các tiêu chuẩn dừng khác nhau Hình 3-5: Ảnh phân vùng não với
Với kết quả như trên, ta nhận thấy rằng đây là một cách phân vùng rất
có triển vọng.
56
Chương 4 : Chương trình cài đặt – kết quả thử nghiệm
4.1 Chương trình cài đặt
4.1.1 Công cụ sử dụng
- Chương trình được viết bằng ngôn ngữ Microsoft Visual C++ 6.0 trên
môi trường Windows XP.
- Dữ liệu thử nghiệm bao gồm 60 ca khảo sát CT não được cung cấp
bởi bệnh viện Nguyễn Trãi, thành phố Hồ Chí Minh.
4.1.2 Cấu trúc dữ liệu học
Dữ liệu học từ module học bằng sự trình diễn được lưu lại trong tập tin
LearningData.Dat đặt trong thư mục LDATA (nằm cùng cấp với tập tin thực
thi của chương trình). Cấu trúc tập tin dữ liệu học gồm có:
- 4 byte đầu tiên: chứa số lượng mẫu học có trong tập tin nNumSample..
- Phần còn lại chứa nNumSample mẫu học.
4.1.3 Chương trình
Giao diện chính:
Hình 4-1: Giao diện chính
57
Nếu hệ thống chưa có dữ liệu học (hoặc muốn bổ sung thêm dữ liệu
học) ta làm như sau:
i. Từ giao diện chính, bấm vào nút “Học dò tìm” để mở hộp thoại
học:
Hình 4-2: Màn hình học dựa vào sự trình diễn
ii. Lần lượt load dữ liệu về bệnh nhân, thực hiện các bước sau:
• Dò tìm đơn giản: dò tìm bằng phương pháp lọc ngưỡng đơn
giản.
• Sau đó, sử dụng công cụ đánh dấu vùng kèm theo để chọn
những vùng bệnh thật (vùng sẽ được giữ lại).
• Lưu dữ liệu xuống đĩa.
58
Sau khi đã có dữ liệu học, hệ thống chính đã có thể hoạt động. Muốn
chẩn đoán, ta quay về màn hình giao diện chính, mở dữ liệu về bệnh nhân lên
và thực hiện chức năng “Dò tìm”:
Hình 4-3: Chọn bệnh nhân
Hình 4-4: Dữ liệu về bệnh nhân đã được hiển thị. Vùng màu sáng là vùng xuất huyết
59
Hình 4-5: Sau khi dò tìm vùng tổn thương
Rất tiếc do thời gian có hạn nên em đã không kịp cài đặt và thử
nghiệm phần tạo hệ luật cho module định vị vùng tổn thương trong não.
4.2 Đánh giá kết quả
4.2.1 Độ hiệu quả của giai đoạn phân lớp
Phần này trình bày về độ chính xác của bộ phân lớp dùng thuật toán
k-người láng giềng gần nhất. Nhắc lại rằng sau bước lọc ngưỡng, ta sẽ có
một tập các vùng, bao gồm những vùng tổn thương thật sự và những vùng bị
nhận lầm. Bộ phân lớp dùng kNN được xây dựng nhằm mục đích phân loại
các vùng này. Sử dụng các độ đo đã giới thiệu trong phần 1.4, ta sẽ đánh giá
độ hiệu quả của bộ phân lớp, với dữ liệu vào là tập các vùng được xác định
sau bước lọc ngưỡng. Quá trình thử nghiệm được thực hiện trên 2 tập dữ
liệu: tập thứ nhất (gọi là tập (1)) gồm 17 khảo sát CT có tổn thương xuất
60
huyết/tụ máu, tập thứ hai (tập (2)) gồm tập (1) bổ sung thêm 10 khảo sát CT
bình thường. Kết quả như sau:
Tập dữ liệu Độ nhạy Độ đặc trưng Tỉ lệ phân lớp
vùng bệnh đúng
Tỉ lệ phân lớp
vùng bình
thường đúng
(1) 94% 94.3% 70.5% 98%
(2) 94% 93% 71.3% 97.5%
Bảng 4-1: Độ chính xác của bộ phân lớp
Ta sẽ nói thêm về các giá trị trên. Tỉ lệ phân lớp vùng bệnh đúng là
70%, tức là chỉ 70% vùng được đánh dấu bệnh thực sự là vùng tổn thương.
Đây là một kết quả khá thấp. Ngược lại, “tỉ lệ phân lớp vùng bình thường
đúng” rất cao (98%) nói lên rằng 98% các vùng được đánh nhãn bình thường
là đúng; nói cách khác, chỉ có 2% số vùng bệnh bị đánh dấu không bệnh là
sai. Như vậy, bộ phân lớp này đã đạt được mục tiêu đề ra ban đầu: không bỏ
sót vùng bệnh, dù tỉ lệ vùng bệnh nhận lầm có thể cao. (Tham khảo phần
4.2.3 về các hướng cải tiến độ hiệu quả của bộ phân lớp).
4.2.2 Đánh giá công việc
Những công việc đã thực hiện được:
- Tìm hiểu được các kiến thức chuyên môn cơ bản về lĩnh vực chẩn đoán
chấn thương sọ não cấp dựa vào ảnh CT não.
- Các vấn đề về lý thuyết cần thiết.
- Đề xuất mô hình hệ thống.
- Cài đặt thử nghiệm một phần của mô hình
• Phát hiện vùng tổn thương, module học dựa vào sự trình
diễn để phát hiện vùng tổn thương
• Xây dựng hệ luật đơn giản để định vị vùng tổn thương.
Những công việc còn tồn tại:
61
- Do thời gian có hạn nên chưa hoàn thành hết mô hình, chưa xây dựng
được hệ luật tốt hơn để định vị vùng tổn thương.
- Chưa thử nghiệm nhiều phương pháp khác nhau tại mỗi bước xử lý để
chọn ra cách thích hợp nhất.
- Chỉ mới đề cập đến một góc nhỏ của việc chẩn đoán chấn thương sọ
não bằng ảnh CT, cộng thêm việc yêu cầu dữ liệu đầu vào khá chặt, nên
tính thực tế vẫn còn thấp.
4.2.3 Hướng phát triển trong tương lai
- Hoàn chỉnh phần cài đặt các phần còn lại.
- Nghiên cứu thử nghiệm nhiều phương pháp và thuật toán khác, vì các
thuật toán được chọn nói chung đều do chủ quan của người viết, không
qua quá trình thử nghiệm so sánh độ hiệu quả cụ thể.
- Để nâng cao tính chính xác của hệ thống, ta có thể áp dụng thêm các
kiến thức khác về chuyên môn, đặc biệt chú ý đến tính đối xứng của
não. (Tham khảo tài liệu [16] về vấn đề phát hiện các đối xứng bình
thường và bất thường trong ảnh CT).
- Phát triển hệ thống lên một bước cao hơn: hỗ trợ nhiều dạng tổn thương
hơn, với dữ liệu đầu vào đa dạng hơn.
62
Tài liệu tham khảo
[1] Bạch Hưng Khang, Hoàng Kiếm, Trí tuệ nhân tạo các phương pháp và ứng
dụg, NXB Khoa Học Kĩ Thuật, 1989.
[2] Campbell, N. W., Thomas, B. T., and Troscianko, T., “Automatic
segmentation and classification of outdoor images using neural networks,”
International Journal of Neural Systems, vol. 8, no. 1, pp. 137–144, 1997
[3] Chang, Y. and Li, X., “Adaptive image region-growing,” IEEE Transactions
on Image Processing, vol. 3, pp. 868–872, November 1994.
[4] Erol Sarigul, Interactive Machine Learning for Refinement and Analysis of
Segmented CT/MRI Images, A doctoral dissertation submitted to the faculty
of the Virginia Polytechnic Institute and State University in partial
fulfillment of the requirements for the degree of Doctor of Philosophy in
Electrical Engineering, 2004
[5] J.-F. Mangin et al., Coordinate-based versus structural approaches to brain
image analysis, Elsevier, Artificial Intelligence in Medicine 30, 2004, pp.
177-197.
[6] J. Rigau, M. Feixas, M. Sbert, A. Bardera, and I. Boada, Medical Image
Segmentation Based on Mutual Information Maximization, Institut
d’Information I Aplicacions, Universitat de Girona, Spain.
[7] Johannes W. Rohen, Chihiro Yokochi, Elke Lutjen – Drecoll, “Atlas giải
phẫu người”, Nhà xuất bản Y học, Việt Nam, 2002.
[8] Jyh-Shing Roger Jang, Chuen-Tsai Sun, Elli Mizutani, Neuro-Fuzzy and Soft
Computing, A computational Approach to Learning and Machine
Intelligence, Prentice Hall, Upper Saddle River, Ney York, 1997.
[9] Ioannis Pitas, Digital Image Processing Algorithms, Prentice Hall, New York,
1992.
[10] Lê Hoài Bắc, Nguyễn Thanh Nghị, “Bionet - Hệ chẩn đoán bệnh”, Luận văn
thạc sĩ, Đại học Quốc gia TP. HCM, Đại học Khoa học Tự nhiên, Khoa Công
nghệ thông tin, 2003.
63
[11] Nathalie Richard, Michel Dojat, Catherine Garbay, Automated Segmentation
of human brain MR images using a multi-agent approach, Elsevier, Artificial
Intelligence in Medicine 30, 2004, pp. 153-175.
[12] Phạm Ngọc Hoa, Lê Văn Phước, “Đọc phim CT chấn thương sọ não”, bộ
môn hình ảnh y khoa Đại học Y Dược thành phố Hồ Chí Minh, 2003.
[13] Rafael C. Gonzalez, Richard E. Woods, Digital Image Processing 2nd Edition,
Addison-Wesley, New York, 1993.
[14] Rafael C. Gonzalez, Richard E. Woods, Digital Image Processing 3rd Edition,
Addison-Wesley, New York, 2001.
[15] Richard O. Duda, Peter E.Hart, David G. Stort, Pattern Classification 2nd
Edition, Wiley, New York, 2000.
[16] S. Prima, J. P. Thirion, G. Subsol, N. Roberts Statistical analysis of normal
and abnormal dissymmetry in volumetric medical images, Elsevier, Medical
Image Analysis 4, 2000, pp. 111-121.
[17] Terry S. Yoo, Michael J. Ackerman, Open Source Software for Medical
Image Processing and Visualization, Communications, Volume 48, Number
2, February 2005, pp. 55-59.
[18] Tài liệu chính thức về định dạng DICOM: Digital Imaging and
Communications in Medicine (DICOM), National Electrical Manufacturers
Association, Virginia, 2004.
64
Phụ lục
A. Bệnh học
Phần này trình bày về các dạng tổn thương não được đề cập đến trong
bài làm, kèm theo đó là một số hình ảnh minh họa điển hình.
A.1 Tụ máu dưới màng cứng (Subdural Hematoma/SDH)
- Tụ máu dưới màng cứng (TMDMC) là tụ máu ở khoang dưới màng
cứng, khoang giữa lớp trong màng cứng và màng nhện.
- Biểu hiện hình ảnh tụ máu dưới màng cứng cấp (dưới 3-4 ngày):
• Tụ dịch ngoài trục, đậm độ cao, hình liềm, bờ trong không
đều. Vượt qua được các khớp sọ. Không vượt qua được
các nếp gấp của màng cứng (liềm, lều não) (hình A-1). Có
thể vươn vào rãnh liên bán cầu, dọc theo liềm não.
• Thường kết hợp tổn thương não bên dưới (dập não, tụ
máu khu trú)
• Cần điều chỉnh cửa sổ để quan sát TMDMC lượng ít.
• Hình ảnh:
65
Hình A-1: Tụ máu dưới màng cứng
A.2 Tụ máu ngoài màng cứng (Epidural Hematoma/EDH)
- Tụ máu ngoài màng cứng (TMNMC) là tụ máu ở khoang giữa bản sọ
và lớp ngoài màng cứng.
- Biểu hiện hình ảnh tụ máu ngoài màng cứng cấp (dưới 3-4 ngày):
• Khối choán chỗ ngoài trục, khu trú, hình lồi hai mặt, bờ trong
nhẵn. Không chạy qua các khớp sọ (hình A-2). Chạy qua được
các nếp màng cứng (đường giữa – lều tiểu não) (hình 3-8). Ở
vùng cao của vòm sọ, trên hình cắt ngang, TMNMC thường có
bờ không rõ.
• Thường kết hợp với các dấu hiệu thoát vị dưới liềm, xuyên lều
hướng xuống, tăng áp lực sọ não.
• Khối máu tụ có đậm độ cao, đồng nhất (2/3 trường hợp), đậm
độ hỗn hợp (1/3 trường hợp, do máu đang chảy và các vùng
máu không đông).
66
Hình A-2: Tụ máu ngoài màng cứng.
Phân biệt tụ máu ngoài màng cứng và tụ máu dưới màng cứng:
67
Tụ máu ngoài
màng cứng
Tụ máu dưới
màng cứng
Hình dạng Hình lồi hai mặt Hình liềm
Khớp sọ Không vượt qua Vượt qua
Nếp gấp màng
cứng (liềm, lều
não)
Vượt qua Không vượt qua
Bảng A-1: Phân biệt tụ máu dưới màng cứng và ngoài màng cứng
A.3 Xuất huyết khoang dưới nhện (subarachnoid hemorrhage)
- Thường kết hợp với các loại tổn thương khác.
- Bệnh nguyên: Do tổn thương mạch máu màng mềm, hoặc các mạch
máu trong não.
- Vị trí: Khu trú quanh vùng dập não, rãnh liên bán cầu, hoặc lan tỏa
theo khoang dưới nhện.
- Hình ảnh: tăng đậm độ ở các rãnh và bể não.
Hình A-3: Xuất huyết khoang dưới nhện
68
A.4 Xuất huyết trong não thất (intraventricular hemorrhage)
- Xuất huyết nặng (vỡ khối máu tụ ở nhu mô não lân cận vào não
thất), tổn thương đám rối mạch mạc, vỡ phình mạch não.
- Hình ảnh:
• Tăng đậm độ trong não thất (hình A-4)
• Hình mức dịch-máu (hay gặp sừng chẩm)
• Tụ máu khu trú ở đám rối mạch mạc.
Hình A-4: xuất huyết trong não thất
A.5 Tụ máu trong não (intracerebral hematoma)
- Tụ máu trong tổ chức não do tổn thương các mạch máu sâu trong não.
- Vị trí: thái dương, trán và chẩm – đính (2% trường hợp ở nhân nền và
bao trong).
- Hình ảnh: ổ tụ máu tăng đậm độ trong nhu mô não (hình A-5)
69
Hình A-5: Tụ máu trong não
70
B. Dữ liệu DICOM
B.1 Giới thiệu
Chuẩn DICOM (Digital Imaging and Communications in Medicine)
là một tập các qui tắc cho phép ảnh y khoa và các thông tin liên quan khác có
thể truyền đi giữa các thiết bị, máy tính hoặc bệnh viện. Chuẩn này thiết lập
một ngôn ngữ chung để ảnh y khoa và các thông tin khác được tạo ra bởi
thiết bị của một nhà sản xuất này có thể được sử dụng dễ dàng bởi một nhà
sản xuất khác.
B.2 Cấu trúc chung của tập tin DICOM
Một tập tin DICOM thường gồm những phần sau (ở đây chỉ nêu
những phần cần thiết):
• Preamble: gồm 128 bytes trắng đầu tiên (chưa được sử dụng).
• Prefix: 4 byte tiếp theo, chứa 4 kí tự ‘D’, ‘I’, ‘C’, ‘M’.
• UID: một chuỗi số và dấu chấm, dùng làm chuỗi định danh (duy nhất)
cho mỗi tổ chức có đăng kí với ISO. Chuỗi này cho ta biết cú pháp
truyền và thứ tự byte được sử dụng.
Ví dụ: UID “1.2.840.10008.1.2” có ý nghĩa:
- 1: chỉ tổ chức ISO
- 2: chỉ tổ chức thành viên con của ISO
- 840: mã quốc gia thành viên
- 10008: được ANSI đăng kí với NEMA cho các DICOM
UID.
• Transfer Syntax: dùng để xác định thứ tự byte được sử dụng là Little
Endian hay Big Endian.
- Little Endian: ở dạng này, byte thấp sẽ nằm ở địa chỉ
thấp và byte cao sẽ nằm ở địa chỉ cao. Ví dụ nếu ta nhận
được chuỗi byte là 11111111 00000000 thì giá trị tương
ứng phải là (00000000 11111111)2 = 255.
71
- Big Endian: thứ tự byte sẽ ngược lại với Little Endian.
Khi đó chuỗi byte 11111111 00000000 sẽ ứng với giá
trị (11111111 00000000)2 =65280.
• Tag: mỗi phần thông tin của DICOM được gán cho một thẻ (tag). Mỗi
tag gồm có 2 phần: nhóm và thành phần. Xét ví dụ về tag
(0010,0010):
- Nhóm (group): cho biết nhóm thông tin đang được lưu
trữ phía sau. Ví dụ 0010 sẽ cho biết đây là thông tin về
bệnh nhân.
- Thành phần (element): là một số định danh duy nhất cho
dữ liệu. Ví dụ: 0010 cho biết dữ liệu được chứa là tên
bệnh nhân.
Như vậy, nếu muốn tìm thông tin về tên bệnh nhân, ta sẽ tìm tag
(0010,0010) tập tin DICOM.
• Chiều dài dữ liệu: gồm 4 bytes cho biết chiều dài của phần dữ liệu
được lưu tiếp theo (trong tag). Ví dụ, nếu bệnh nhân có tên là
“Roentgen” thì phần chiều dài dữ liệu sẽ là 8.
• Trường giá trị (value field): gồm một số chẵn các byte chứa giá trị của
thành phần (element) trong tag.
• Số giá trị (VM - Value Multiplicity): số lượng giá trị được lưu trong
trường giá trị. Chẳng hạn, nếu VM bằng 3 tức là có 3 giá trị được lưu
trong trường giá trị.
B.3 Một số thông tin cần thiết khi xử ảnh DICOM
B.3.1 Các nhóm quan trọng
• Nhóm 2 (0002): chứa siêu thông tin về tập tin.
• Nhóm 8 (0008): thông tin chung về chuỗi ảnh.
• Nhóm 10 (0010): thông tin về bệnh nhân.
• Nhóm 20 (0020): thông tin chung về khảo sát này.
72
• Nhóm 28 (0028): thông tin về ảnh.
• Nhóm 7F (007F): dữ liệu về các điểm ảnh.
B.3.2 Các thẻ (tag) quan trọng
Sau đây là các thẻ quan trọng, cần thiết cho quá trình xử lý ảnh CT:
Nhóm Thành phần Ý nghĩa
0010 Tên bệnh nhân
0020 Mã bệnh nhân
0030 Ngày sinh
0040 Giới tính
0010
(thông tin về
bệnh nhân)
1010 Tuổi
Bảng B-1: một số thẻ quan trọng
Nhóm Thành phần Ý nghĩa
0010 Số dòng (chiều cao ảnh)
0011 Số cột (chiều ngang ảnh)
0012 Số mặt phẳng
0030 Khoảng cách giữa 2 điểm ảnh (tính bằng
mm)
0100 Số bit được cấp cho mỗi điểm ảnh
0101 Số bit thật sự được sử dụng cho mỗi điểm
ảnh
1050 Trung tâm cửa sổ
1051 Độ rộng cửa sổ
1052 Rescale Intercept
0028
(thông tin về
ảnh)
1053 Rescale Slope
Bảng B-2: Một số thẻ quan trọng
73
Nhóm Thành phần Ý nghĩa
0015 Vùng cơ thể được khảo sát 0018
0050 Độ dày lát cắt
Bảng B-3: Một số thẻ quan trọng
Nhóm Thành phần Ý nghĩa
0032 Vị trí lát cắt 0020
(thông tin
chung về các
lát cắt)
0037 Hướng của lát cắt
Bảng B-4: Một số thẻ quan trọng
B.3.3 Hiển thị ảnh
Sử dụng các tag trên, ta dễ dàng tìm được các thông tin về ảnh CT được
chụp như kích thước ảnh, số bit dành cho mỗi điểm ảnh. Đối với ảnh CT, kích
thước ảnh là 512*512, mỗi điểm ảnh được lưu bằng 16 bit (nhưng chỉ có 12 bit
được dùng, 4 bit còn lại luôn bằng 0). Để biến dữ liệu CT đó thành ảnh có thể
xuất ra màn hình, ta cần thực hiện các bước sau:
1. Tìm tag (7FE0,0010). Tag này chứa toàn bộ thông tin về giá trị các
điểm ảnh.
2. Với mỗi điểm ảnh, ta chuyển nó về giá trị Hounsfield bằng công thức
sau:
H(x,y) = S(x,y)*RS + RI
Trong đó S(x,y) là giá trị được lưu, RS và RI là rescale slope và
rescale intercept đã nói ở trên.
3. Chuyển giá trị Hounsfield sang độ xám: công việc này phụ thuộc vào
2 thông số:
74
i. Phạm vi độ xám mà ta muốn chuyển. Thông thường, để xuất ra
màn hình máy tính, phạm vi được chọn là từ 0 đến 255.
ii. Thông số cửa sổ: gồm 2 thông số là độ rộng cửa sổ (Window
Width) và tâm cửa sổ (Window Center). Gọi độ rộng cửa sổ là
WW, tâm là WC, và đặt:
L = WC-WW/2
R = WC+WW/2
Khi đó, mọi điểm có giá trị Hounsfield nhỏ hơn L sẽ nhận giá
trị là 0, lớn hơn R sẽ có độ xám là 255. Những giá trị
Hounsfield nằm giữa 2 phạm vi này sẽ được biến đổi tỉ lệ về
khoảng [0,255].
a sổ và tâm cửa sổ Hình B-1: ý nghĩa độ rộng cử
75
C. Giải phẫu CT đơn giản vùng trên lều
Hình C-1: Minh họa giải phẫu CT não
1 Nhãn cầu
2 Hố yên
3 Lưng yên
4 Sừng thái dương
5 Cầu não
6 Bán cầu tiểu não
7 Động mạch thân nền
8 Thùy thái dương
9 Não thất IV
10 Thùy giun
76
Hình C-2: Minh họa giải phẫu CT não
1 Thuỳ trán
2 Đoạn ngang động mạch
não giữa
3 Bể nền (bể trên yên)
4 Thuỳ thái dương
5 Bể quanh củ não sinh tư
6 Bể trên thuỳ giun
7 Rãnh Sylvius
8 Cuống đại não
9 Củ não sinh tư
10 Thuỳ chẩm
77
Hình C-3: Giải phẫu CT não đơn giản
7 Liềm đại não
8 Nhân bèo
9 Não thất III
10 Đồi thị
11 Tuyến tùng
12 Sừng chẩm não thất bên
1 Thuỳ trán
2 Sừng trán não thất bên
3 Thuỳ đảo
4 Thuỳ thái dương
5 Bể trên thuỳ giun
6 Thuỳ chẩm
78
Hình C-4: Giải phẫu CT não đơn giản
1 Thuỳ trán
2 Sừng trán não thất bên
3 Đầu nhân đuôi
4 Nhân bèo
5 Đồi thị
6 Sừng chẩm não thất bên
7 Chi trước bao trong
8 Gối bao trong
9 Bao ngoài
10 Chi sau bao trong
11 Thuỳ chẩm
12 Xoang tĩnh mạch dọc trên
79
Hình C-5: Giải phẫu CT não đơn giản
1 Liềm đại não trước
2 Thuỳ trán
3 Thuỳ đính
4 Thuỳ chẩm
5 Thể chai
6 Thân não thất bên
7 Liềm đại não sau
80
Hình C-6: Giải phẫu CT não đơn giản
1 Thuỳ trán
2 Thuỳ đính
3 Thuỳ chẩm
4 Trung tâm bán bầu dục
5 Liềm đại não
81
n giản Hình C-7: Giải phẫu CT não đơ
1 Liềm đại não
2 Rãnh trung tâm
3 Liềm đại não
4 Hồi trán trên
5 Hồi não trước trung tâm
6 Hồi não sau trung tâm
82
Các file đính kèm theo tài liệu này:
- Hỗ trợ chẩn đoán tự động tổn thương xuất huyết-tụ máu dựa vào ảnh ct não.pdf