TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN

KHOA CÔNG NGHỆ THÔNG TIN

BỘ MÔN CÔNG NGHỆ TRI THỨC

Ngụy Đức Thuậ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

KHOÁ LUẬN CỬ NHÂN TIN HỌC

TP. HCM, NĂM 2005

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN

KHOA CÔNG NGHỆ THÔNG TIN

BỘ MÔN CÔNG NGHỆ TRI THỨC

Ngụy Đức Thuận – 0112283

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

KHÓA LUẬN CỬ NHÂN TIN HỌC

GIÁO VIÊN HƯỚNG DẪN

TIẾN SĨ LÊ HOÀI BẮC

NIÊN KHÓA 2001-2005

Lời cảm ơn

Em xin gửi lời biết ơn chân thành nhất đến thầy Lê Hoài Bắc, người

đã tận tình dạy dỗ em trong suốt quá trình học, cho em nhiều lời động viên

cũng như những chỉ dẫn quý báu để em có thể thực hiện tốt được đề tài này.

Bên cạnh đó, em xin chân thành cảm ơn các thầy cô trong khoa Công

Nghệ Thông Tin đã hết lòng trong công tác giảng dạy, tận tình cung cấp

nhiều kiến thức cần thiết trong suốt những năm học tại trường.

Em cũng gửi lời cảm ơn sâu sắc đến bác sỹ Nguyễn Ngọc Diệp và các

cán bộ phòng Chẩn đoán hình ảnh bệnh viện Đa Khoa Đồng Tháp, đến anh

Lục Thành Vũ, cán bộ phòng Chẩn đoán hình ảnh bệnh viện Nguyễn Trãi

thành phố Hồ Chí Minh đã cung cấp cho em những kiến thức y khoa và dữ

liệu hình ảnh cần thiết để em thực hiện đề tài này.

Trong quá trình thực hiện đề tài, không thể không kể đến sự giúp đỡ,

đóng góp ý kiến và những lời động viên hết mình của bạn bè xung quanh,

điều này thật sự đã giúp cho tôi rất nhiều. Xin chân thành cám ơn các bạn.

Và cuối cùng, con xin gửi đến ba mẹ và em trai của anh lòng biết ơn

vô bờ bến. Công lao dưỡng dục của ba mẹ, niềm tin mãnh liệt vào con và

những đêm thức trắng nơi quê nhà vì lo lắng cho con của ba mẹ đã giúp con

vượt qua được những giờ phút khó khăn nhất, khắc phục được những trở

ngại lớn lao nhất để hoàn thành đề tài này.

Thành phố Hồ Chí Minh, ngày 13 tháng 7 năm 2005

1

Ngụy Đức Thuận

Mở đầu

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. Báo cáo gồm có 4 chương và 3 phụ lục:

• Chương 1: Giới thiệu chung – kiến thức tổng quan

Giới thiệu chung về đề tài.

• Chương 2: Cơ sở lý thuyết

Trình bày các vấn đề lý thuyết quan trọng.

2

• Chương 3: Xây dựng hệ thống

Mô tả cách xây dựng hệ thống và các cách áp dụng các vấn

đề lý thuyết đã nêu.

• Chương 4: Cài đặt, kết quả thử nghiệm

Cài đặt chương trình, sơ lược về cách sử dụng, các kết quả

thử nghiệm.

• Phụ lục A: Bệnh học

Sơ lược một số kiến thức y khoa về các tổn thương có liên

quan đến đề tài.

• Phụ lục B: Dữ liệu DICOM

Một số kiến thức về dữ liệu DICOM và xử lý tập tin

DICOM.

• Phụ lục C: Giải phẫu CT đơn giản

Giải phẫu các bộ phận của não dựa vào ảnh CT (ở mức độ

3

đơn giản).

Mục lục

2.1

2.2.1 2.2.2 2.2.3 2.2.4 2.2.5

2.4.1 2.4.2

4

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 Tạo hình ..............................................................................................10 1.2.2 Trị số đậm độ ......................................................................................11 1.2.3 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 Tiêu chuẩn đánh giá độ chính xác..............................................................18 1.4 1.4.1 Độ nhạy (sensitivity)...........................................................................18 1.4.2 Độ đặc trưng (specificity) ...................................................................18 Tỉ lệ vùng bệnh được phân lớp đúng ..................................................18 1.4.3 Tỉ lệ vùng bình thường được phân lớp đúng ......................................19 1.4.4 Chương 2 : Cơ sở lý thuyết .......................................................................................20 Phân đoạn ảnh ............................................................................................20 Lọc ngưỡng .........................................................................................21 Phương pháp dựa vào biên..................................................................23 Phương pháp dựa trên vùng ................................................................24 Phương pháp thống kê và Bayes.........................................................26 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 Biểu diễn bằng chain -code.................................................................29 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 Chiều dài trục chính và phụ ................................................................34 2.5.3 2.6 Cây quyết định............................................................................................35 2.6.1 Giới thiệu về cây quyết định ...............................................................35 Thuật toán ID3 ....................................................................................38 2.6.2 Thông tin tương hỗ.....................................................................................43 2.7

4.1.1 4.1.2 4.1.3

5

2.8 Học dựa vào sự trình diễn ..........................................................................44 Chương 3 : Xây dựng hệ thống .................................................................................46 Phân đoạn đơn giản ....................................................................................46 3.1 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 Phân lớp bằng thuật toán k-người láng giềng gần nhất ......................50 3.2.3 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 Công cụ sử dụng .................................................................................57 Cấu trúc dữ liệu học ............................................................................57 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

Danh mục hình ảnh

6

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 Hình 2-3: Mặt nạ của toán tử Laplace......................................................................23 Hình 2-4: Ví dụ về thuật toán Region Growing.......................................................26 Hình 2-5: Lân cận 8 của điểm p1..............................................................................28 Hình 2-6: Chain code 4 hướng và 8 hướng..............................................................30 Hình 2-7: Ví dụ về biễu diễn đường biên bằng chain code lân cận 8 ......................30 Hình 2-8: Đường biên của một vùng và biểu diễn dòng quét của nó ......................31 Hình 2-9: Một số đặc trưng dùng để mô tả vùng.....................................................32 Hình 2-10: Trục chính và trục phụ hình ellipse. ......................................................35 Hình 2-11: Minh họa phương pháp của Hunt ..........................................................37 Hình 2-12: Một cây quyết định chọn nhiệt độ làm gốc ...........................................40 Hình 3-1: Ảnh CT qua bộ lọc thứ nhất, trong đó màu đỏ biểu diễn cho vùng bệnh48 Hình 3-2: Minh họa lát cắt đầu tiên vùng trên lều ...................................................53 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)............................................54 Hình 3-5: Ảnh phân vùng não với các tiêu chuẩn dừng khác nhau.........................56 Hình 4-1: Giao diện chính........................................................................................57 Hình 4-2: Màn hình học dựa vào sự trình diễn........................................................58 Hình 4-3: Chọn bệnh nhân .......................................................................................59 Hình 4-4: Dữ liệu về bệnh nhân đã được hiển thị. ..................................................59 Hình 4-5: Sau khi dò tìm vùng tổn thương ..............................................................60 Hình A-1: Tụ máu dưới màng cứng.........................................................................66 Hình A-2: Tụ máu ngoài màng cứng. ......................................................................67 Hình A-3: Xuất huyết khoang dưới nhện.................................................................68 Hình A-4: Xuất huyết trong não thất .......................................................................69 Hình A-5: Tụ máu trong não....................................................................................70 Hình C-1:Giải phẫu CT não đơn giản ......................................................................76 Hình C-2: Giải phẫu CT não đơn giản .....................................................................77 Hình C-3: Giải phẫu CT não đơn giản .....................................................................78 Hình C-4: Giải phẫu CT não đơn giản .....................................................................79 Hình C-5: Giải phẫu CT não đơn giản .....................................................................80 Hình C-6: Giải phẫu CT não đơn giản .....................................................................81 Hình C-7: Giải phẫu CT não đơn giản .....................................................................82

Danh mục bảng biểu

7

Bảng 1-1: Trị số đậm độ của các cấu trúc nội sọ ......................................................11 Bảng 2-1: Dữ liệu minh họa cho cây quyết định ......................................................37 Bảng 2-2: Thông tin phân bố thuộc tính quang cảnh................................................38 Bảng 2-3: Thông tin phân bố lớp của thuộc tính Độ ẩm...........................................39 Bảng 4-1: Độ chính xác của bộ phân lớp..................................................................61 Bảng A-1: Phân biệt tụ máu dưới màng cứng và ngoài màng cứng .........................68 Bảng B-2: Một số thẻ quan trọng..............................................................................73 Bảng B-3: Một số thẻ quan trọng..............................................................................74 Bảng B-4: Một số thẻ quan trọng..............................................................................74

Bảng kí hiệu các chữ viết tắt

DICOM

CT

Computed Tomography

kNN

k nearest neighbour

8

Digital Imaging and Communications in Medicine

Chương 1 : Giới thiệu – kiến thức tổng quan

1.1 Xác định vấn đề và động cơ thúc đẩy

Năm 1972 G.N Hounsfield giới thiệu phương pháp chụp cắt lớp điện

toán (Computed Tomography Scanner – CT). Đây là kỹ thuật không xâm

lấn cho phép đánh giá tốt về bệnh lý hệ thần kinh trung ươn. Sự ra đời của

CT được xem là cuộc cách mạng trong chuẩn đoán hình ảnh. Đặc biệt, trong

bệnh lý chấn thương sọ não, CT chẩn đoán tốt các tổn thương nội sọ (tụ máu,

dập não, phù não…), chi tiết xương, khảo sát được các trường hợp bệnh nhân

cấp cứu (không nằm yên, mang trợ cụ hô hấp, tuần hoàn…) và có giá thành

rẻ. CT giúp đánh giá, theo dõi, tiên lượng, lập kế hoạch điều trị thích hợp cho

từng bệnh nhân.

Theo [13], có một số đặc điểm đáng lưu ý về chấn thương sọ não như

sau:

i. 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.

Để lại di chứng nặng nề. ii.

Chi phí y tế lớn (83.5 tỉ dollars/năm hay 228 triệu iii.

dollars/ngày ở Mỹ).

Để 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

9

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.

1.2 Một số kiến thức cơ bản

1.2.1 Nguyên lý tạo hình

CT dùng một chùm tia X với độ dày nhất định, quét qua lát cắt ngang

của vật thể, theo nhiều huớng khác nhau. Lượng tia X sau khi đi qua vật thể

được đo bằng các đầu dò (detectors). Dữ liệu thu nhận từ các đầu dò này sẽ

được máy tính xử lý và tạo hình.

1.2.2 Tạo hình

Các lát cắt ngang qua vùng cơ thể khảo sát, được phân thành nhiều khối

(block) nhỏ. Các khối riêng lẽ này gọi là các phần tử thể tích (voxel). Thành

phần độ dày của phần tử thể tích cùng với tính chất chùm tia X sẽ xác định

mức độ hấp thu tia X của các phần tử thể tích này (hình 1-1).

Các dữ liệu số về sự hấp thu tia X của các phần tử thể tích được máy

tính chuyển thành các độ xám khác nhau của các phần tử hình hay điểm ảnh

(pixel) tương ứng trên hình CT.

Hình 1-1: Phần tử thể tích (voxel)

10

1.2.3 Trị số đậm độ

Mỗi phần tử thể tích có trị số tương ứng với mức độ hấp thu tia của mô

và được biẻu thị bằng các độ xám khác nhau trên hình.Trị số mức độ hấp thu

tia X biểu thị bằng đơn vị Hounsfield (HU).

Theo qui ước của máy, các đậm độ cơ bản là:

Đậ m độ của nước: 0 HU

Đậ m độ của khí: -1000 HU

Đậ m độ của xương: +1000 HU

Đậ m độ của mỡ: -1000 HU

Các trị số đậm độ của các mô, dịch khác trong cơ thể sẽ được tính

theo tương ứng với các trị số trên.

Các cấu trúc vật chất hấp thụ tia X càng nhiều thì có độ Hounsfield

càng cao, trên hình có màu càng trắng và ngược lại. Ví dụ: xương, máu tụ có

màu trắng do hấp thụ tia X nhiều; ngược lại khí, mỡ, dịch não tuỷ có màu

đen. Điều này giống như các đậm độ trên hình X quang thông thường.

Cấu trúc Trí số giới hạn(HU)

Đóng vôi, xương 80-250

Xuất huyết, tụ máu 55-75

Chất xám 35-45

Chất trắng 20-30

Phù nề 10-20

Dịch não tuỷ 0-10

Nước 0

Mỡ <0-(-100)

Khí (-100)-(-1000)

Bảng 1-1: Trị số đậm độ của các cấu trúc nội sọ

11

1.2.4 Thay đổi đậm độ

Thay đổi đậm độ biểu hiện sự khác biệt tương đối về đậm độ của vùng

chúng ta lưu ý với cấu trúc bình thường. Các từ diễn tả đậm độ khi mô tả:

- Giảm đậm độ (Hypodense)

- Đồng đậm độ (Isodense)

- Tăng đậm độ (Hyperdense)

Các từ giảm, đồng và tăng đậm độ sẽ tương ứng với các vùng có màu

đen hơn, ngang bằng và trắng hơn so với vùng được so sánh

Ví dụ:

- Xuất huyết trong não có đậm độ cao

- Vùng phù có đậm độ thấp

- Tụ máu dưới màng cứng bán cấp đồng đậm độ với chất xám…

Các hình tăng đậm độ trên CT sọ não có thể là các đóng vôi bình

thường (như màng cứng,tuyến tùng,đám rối mạch mạc…) hoặc các đóng vôi

bất thường (trong u, tổn thương cũ…), xuất huyết, các cấu trúc protein cao,

hoặc mật độ tế bào cao (một số u não).

Các hình giảm đậm độ thường gặp trên CT sọ não bình thường (như

dịch não tuỷ, mỡ hốc mắt, khí trong xoang) hoặc bất thường (như phù não,

dịch trong các nang, mỡ trong u, khí nội sọ trong chấn thương).

Cũng cần lưu ý rằng khối máu tụ cấp tính ở bệnh nhân chấn thương sọ

não thuờng có đậm độ cao hơn nhu mô não. Đậm độ khối máu tụ liên quan với

nồng độ hemoglobin, hematocrit, protein máu, tình trạng đông máu. Trong một

số trường hợp, do có sự thay đổi các yếu tố trên (hematocrit, protein thấp…),

khối máu tụ cấp có thể có đậm độ ngang với nhu mô não.

Theo thời gian, khối máu não sẽ giảm đậm độ dần, trung bình

1.5HU/ngày. Do đó, máu tụ bán cấp hay mãn tính sẽ đồng hay giảm đậm độ so

12

với nhu mô não.

1.2.5 Đặt cửa sổ (Window setting)

Trị số đậm độ của các mô khác nhau trong cơ thể thay đổi từ -

1000HU đến +1000HU, các trị số này được biểu hiện trên hình bằng các độ

xám khác nhau. Tuy nhiên mắt thường của chúng ta không thể phân biệt được

khác biệt tất cả các độ xám này, để phân biệt, phải thay đổi cửa sổ, nhằm tạo

tương phản giúp mắt thường nhận biết được. Có hai thông số đặt cửa sổ là độ

rộng cửa sổ(window width) và trung tâm cửa sổ (window level/centre).Viết tắt

trên phim là:W/L hay W/C

Độ rộng cửa sổ: là khoảng độ Hounsfield mà ta muốn xem. Các cấu trúc

có độ đậm phía trên giới hạn này sẽ có màu trắng, dưới giới hạn này sẽ có màu

đen.

Trung tâm cửa sổ: Là điểm giữa của độ rộng cửa sổ, có độ Hounsfield

thường gần bằng với cấu trúc mà ta quan sát.

Ví dụ: Để khảo sát sọ não chúng ta có thể đặt 2 cửa sổ:

1.Cửa sổ nhu mô: Độ rộng cửa sổ 140 HU (từ -200 HU đến +110HU),

trung tâm cửa sổ 40HU, giúp ta phân biệt được cấu trúc nội sọ như chất xám,

chất trắng, dịch não tuỷ, mạch máu.

2.Cửa sổ xương: Độ rộng cửa sổ 1200HU (từ -200 HU đến +1000 HU),

trung tâm cửa sồ là +400HU. Với cửa sổ này,ta không phân biệt đựoc chất

trắng chất xám hay dịch não tuỷ mà chỉ phân biệt được giữa xương, khí, mô

mềm.

Chúng ta có thể thay đổi cửa sổ hẹp hoặc rộng hơn để phân biệt rõ các

khác biệt đậm độ. Ví dụ khi khảo sát tụ máu dưới màng cứng lớp mỏng, sát

bản sọ, đồng đậm độ vỏ nảo…..

1.2.6 Độ dày lát cắt và khoảng cách lát cắt

Độ dày lát cắt: là độ dày của lát cắt khảo sát (tương ứng với độ mở của

13

bộ chuẩn trực/colimator ở đầu đèn).

Khoảng cách lát cắt: Là khoảng cách giữa các lát cắt (tương ứng với

khoảng di chuyển của bàn bệnh nhân).

Độ dày lát cắt thường được thể hiện trực tiếp ở các thông số trên hình.

Còn khoảng cách các lát cắt cũng được thể hiện trên hình

Từ hai khái niệm này, kỹ thuật khảo sát CT sẽ có các kiểu cắt như sau:

- Cắt liên tục (continuity) khi độ dày lát cắt bằng khoảng cách

lát cắt.

- Cắt chồng (overlap) khi độ dày lát cắt lớn hơn khoảng cách

lát cắt.

- Cắt hở (gap) khi độ dày lát cắt nhỏ hơn khoảng cách lát cắt.

Trong bệnh lý chấn thương sọ não, thường khảo sát bằng các lát cắt liên

tục, từ lỗ chẩm lên đến vòm sọ.

1.2.7 Hình định vị

Hình định vị (topogram, scout view) [hình 1-1] là hình dùng để xác

định các vị trí lát cắt. Ở hình định vị có các đường được đánh số và đặt chồng

lên vùng cơ thể khảo sát. Các số được đánh dấu cúa các đường này sẽ tương

ứng với các số của các hình hay lát cắt trình bày trên phim CT.

Ta có thể dùng hình định vị để quan sát nhanh các lát cắt nào cần xem

trên phim CT. Hoặc ngược lại, xác định bất thường trên lát cắt CT nằm ở vị trí

nào trên hình định vị

Ví dụ: Ta chỉ muốn quan sát tổn thương ở vùng đỉnh. Ta thấy trên hình

định vị, ở vùng đỉnh, có các đường số đánh số 10,11,12; như vậy, ta chỉ cần

14

xem các hình 10,11,12 trên phim CT.

Hình 1-1: Hình định vị (topogram)

1.3 Hệ thống

Trước hết, phải nhận xét rằng phân tích các chấn thương sọ não cấp

trong ảnh CT một cách tự động là một vấn đề không hề dễ dàng. Hầu hết các

nghiên cứu trong lĩnh vực này tập trung phần lớn vào việc phân đoạn ảnh để

phục vụ cho bài toán xây dựng mô hình 3-D của não. Qua tìm kiếm trên các tạp

chí chuyên về khoa học máy tính, em không tìm được một mô hình khả dĩ cho

vấn đề này. Chính vì vậy, mục tiêu xác định cho đề tài này chỉ nằm ở mức xây

dựng thử nghiệm một hệ thống dùng để chẩn đoán những chấn thương dễ phát

hiện, với những giới hạn sau:

i. Chỉ khảo sát ở những ảnh chụp nằm ở vùng trên lều (do các

lát cắt ở vùng dưới lều có thành phần khá phức tạp).

ii. Khảo sát tổn thương nội sọ, chủ yếu tập trung vào tổn thương

xuất huyết, tụ máu.

iii. Chọn lựa những hình ảnh đạt chất lượng tốt (không bị xảo

ảnh).

15

Các kết quả được nhắm tới gồm có:

i. Phát hiện chính xác vùng tổn thương (không sót, không phát

hiện lầm).

ii. Xác định các thông số định lượng về vùng tổn thương đó.

iii. Xác định vị trí vùng tổn thương trong não (ví dụ như thuộc

vùng đỉnh, chẩm, thái dương…)

iv. Kết quả: đưa ra mô tả hình ảnh về vùng tổn thương.

Với dữ liệu đầu vào là ảnh CT lưu dưới định dạng DICOM, mô hình hệ

thống như sau:

Hình 1-2: Mô hình hệ thống

Giai đoạn tiền xử lý bao gồm các công việc như: đọc thông tin về bệnh

nhân, thông tin về các lát cắt được chụp (độ dày, kích thước, vị trí…), lọc ra

biên của sọ dùng làm mốc định vị cho các module sau, chuyển dữ liệu ảnh

16

Hounsfield (xem phụ lục) thành ảnh độ xám…

Sau khi rút ra được các thông tin cần thiết, ta sẽ tiến hành bước khảo sát,

phân tích ảnh. Trước tiên, các lát cắt sẽ được cho qua bộ lọc đơn giản. 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 (các ngưỡng này được xác định

dựa vào tri thức của các chuyên gia, vốn được nêu ra trong tất cả các tài liệu

về chẩn đoán hình ảnh CT). Mục tiêu ưu tiên của bước này là không sót, tức

là có thể có nhiều vùng bị xác định nhầm. Như ta sẽ thấy, do bị ảnh hưởng

của hiệu ứng thể tích từng phần, những vùng như vậy là khá nhiều.

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. Vấn đề quan trọng nhất để xây dựng bộ phân lớp là phải có

dữ liệu học, mà hiện nay chưa có một bộ dữ liệu học nào được tạo ra cho

mục đích này (hầu hết các nghiên cứu đều sử dụng dữ liệu tự tạo, với kích

thước khá nhỏ hoặc dùng các bộ giả lập để tạo dữ liệu ảo). Hơn nữa, dữ liệu

học có sẵn thường thiếu những thông tin cần thiết trong khi lại thừa những

thông tin không cần thiết. Để giải quyết vấn đề này, ta sẽ sử dụng phương

pháp học bằng sự trình diễn: xây dựng một công cụ giao tiếp trực tiếp với

chuyên gia để tạo dữ liệu học. 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. Thông tin về các vùng đó sẽ được lưu lại để làm dữ liệu học cho bộ phân

lớp. Có thể xem đây là một áp dụng của phương pháp học dựa vào sự trình

diễn vào lĩnh vực xử lý ảnh.

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. Bên cạnh đó, ý tưởng về một hệ thống xây dựng dữ liệu học chi

17

tiết hơn cho vấn đề định vị cũng được đề xuất.

Cuối cùng, dựa vào các thông tin trên, hệ thống sẽ tổng hợp, đưa ra mô

tả hình ảnh về tổn thương (vị trí, kích thước, biểu hiện hình ảnh…) và kết

luận bệnh.

1.4 Tiêu chuẩn đánh giá độ chính xác

Ta sẽ dùng một số tiêu chuẩn để đánh giá độ chính xác của giai đoạn

phát hiện vùng bệnh, cụ thể hơn là ở bộ phân lớp dùng thuật toán k-người

láng giềng gần nhất . Đối với bước định vị vùng tổn thương, do không có

những độ đo định lượng thích hợp nên ta sẽ chỉ đưa ra một số nhận xét chung.

Gọi:

TP là số vùng bệnh được phân lớp đúng.

FP là số vùng bình thường bị xác định sai là có bệnh.

TN là số vùng bình thường được phân lớp đúng.

FN là số vùng bệnh bị xác định sai là không có bệnh.

Ta xét các độ đo sau:

1.4.1 Độ nhạy (sensitivity)

Sensitivit

y

=

* %100 TP TP FN +

Độ nhạy cho ta biết xác suất phát hiện đúng vùng bị tổn thương thật sự:

1.4.2 Độ đặc trưng (specificity)

Độ đặc trưng cho biết xác suất phân lớp đúng các vùng không bị tổn

Specificit

y

=

* %100 TN TN FP +

thương.

1.4.3 Tỉ lệ vùng bệnh được phân lớp đúng

Đại lượng này cho ta biết tỉ lệ vùng bệnh thật sự trong số những vùng

18

được xác định bởi hệ thống.

PP

%

=

* %100 TP TP FP +

1.4.4 Tỉ lệ vùng bình thường được phân lớp đúng

Đại lượng này cho ta biết tỉ lệ vùng không bị tổn thương thật sự trong

NP

%

=

* %100 TN TN FN +

19

số những vùng đã được bộ phân lớp kNN loại bỏ.

Chương 2 : Cơ sở lý thuyết

2.1 Phân đoạn ảnh

Theo [4, 14], phân đoạn thường là công đoạn đầu tiên được thực hiện

trong xử lý ảnh. Mục đích của phân đoạn là để dò ra và xác định những vùng

nào của ảnh cần được nhóm chung với nhau theo một tiêu chuẩn nào đó. Ảnh

sau khi phân đoạn cần thỏa mãn yêu cầu sau: các phân đoạn rời nhau, mỗi

vùng mang tính đồng nhất (theo tiêu chuẩn phân đoạn) và hợp của bất kì 2

phân đoạn liền kề nhau nào cũng sẽ phá vỡ tính đồng nhất của chúng. Mức

độ phân đoạn phụ thuộc vào vấn đề đang giải quyết, và thường kết thúc khi

đối tượng cần quan tâm đã được cô lập. Nói chung, phân đoạn ảnh một cách

tự động là một trong những công việc khó khăn nhất trong xử lý ảnh, quyết

định đến sự thành công hay thất bại của toàn bộ công việc phân tích ảnh.

Cách tiếp cận thường thấy nhất là lựa chọn một bộ lọc sao cho có thể làm nổi

bật lên các đối tượng cần quan tâm đồng thời loại bỏ những thành phần

không liên quan.

Cho đến nay, mặc cho rất nhiều thuật toán đã được đề xuất nhưng

phân đoạn vẫn còn là một vấn đề thu hút nhiều qua tâm nghiên cứu. Nhiều

khảo sát trước đây đã cho thấy rằng không có một phương pháp nào có thể

hoạt động tốt cho mọi ứng dụng. Vì đối tượng được quan tâm ở đây là ảnh

CT nên chúng tôi sẽ hạn chế tìm hiểu, trình bày những phương pháp phân

đoạn đã được phát triển cho riêng ảnh độ xám. Fu và Mui [4] đã phân các

thuật toán này thành 3 nhóm:

1. Các phương pháp dựa trên ngưỡng (threshold-based).

2. Các phương pháp dựa trên biên (edge-based).

3. Các phương pháp dựa trên vùng (region-based).

thêm vào đó là 2 phương pháp khác cũng thường được sử dụng:

4. Phương pháp thống kê và Bayes.

20

5. Phương pháp dựa trên mạng nơ ron và logic mờ.

2.2.1 Lọc ngưỡng

Lọc ngưỡng là một trong những cách tiếp cận đơn giản, quen thuộc và

quan trọng nhất trong việc phân đoạn ảnh. Phương pháp này có thể được

thực hiện dựa vào những thông tin toàn cục như histogram hoặc thông tin

cục bộ như ma trận đồng hiện. Nếu một giá trị ngưỡng được áp dụng cho

toàn bộ tấm ảnh thì ngưỡng đó được gọi là ngưỡng toàn cục. Ngược lại,

trong trường hợp giá trị ngưỡng được xác định riêng cho mỗi vùng con, ta có

ngưỡng cục bộ (hay ngưỡng thích nghi). Các phương pháp lọc ngưỡng còn

có thể được phân thành 2 nhóm: nhóm đơn ngưỡng và nhóm đa ngưỡng.

Phương pháp đơn ngưỡng có tác dụng phân chia bức ảnh thành 2 vùng: đối

tượng cần quan tâm và nền (background). Cũng vì lí do này mà phương pháp

đơn ngưỡng có thể được xem là một dạng của phương pháp phân lớp 2 lớp.

Cơ sở của phương pháp phân đoạn dựa trên ngưỡng như sau: khi một

ảnh độ xám bao gồm nhiều vùng phân biệt, histogram của nó thường sẽ có

nhiều đỉnh phân biệt nhau, mỗi đỉnh ứng với một vùng và giữa 2 đỉnh liền kề

nhau thường là một “thung lũng” sâu. Đáy của thung lũng này có thể được

chọn để làm ngưỡng phân biệt giữa 2 vùng kề nó.

Xét ảnh có histogram như trong hình 2.1, trong đó ta kí hiệu f(x,y) là

độ xám của điểm (x,y). Có thể hình dung (a) là ảnh gồm một đối tượng sáng

trên nền tối, và do đó histogram sẽ bao gồm 2 đỉnh rõ rệt. Rõ ràng là ta có thể

tách đối tượng ra khỏi nền bằng cách chọn một ngưỡng T sao cho chia cách

được 2 đỉnh này. Khi đó, mọi điểm f(x,y) nhỏ hơn T sẽ được xem là nền,

trong khi những điểm có độ xám lớn hơn T sẽ được cho là thuộc về đối

tượng. Hình 2-1(b) cho ta một trường hợp phức tạp hơn: histogram gồm có 3

đỉnh (chẳng hạn như 2 đối tượng sáng trên một nền màu tối). Tương tự như

trên, ta có thể chọn 2 ngưỡng T1 và T2 để phân biệt 2 đối tượng trên và nền.

Mặc dù vậy, phương pháp đa ngưỡng này kém tin cậy hơn so với trường hợp

21

đơn ngưỡng. Lí do là vì ta rất khó xác lập được nhiều ngưỡng sao cho chúng

có thể cô lập thật hiệu quả tất cả các vùng cần quan tâm, đặc biệt là khi số

lượng các đỉnh trong histogram tương ứng khá nhiều.

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

Về mặt hình thức, phép lọc ngưỡng có thể được xem như là một phép

thử của hàm T có dạng:

T = T[x, y, p(x,y), f(x,y)]

trong đó f(x,y) là độ xám của điểm (x,y), p(x,y) tượng trưng cho một đặc

điểm cục bộ nào đó của điểm (x,y), ví dụ như trung bình độ xám của 4 điểm

xung quanh (x,y) (lân cận 4 của (x,y)). Kết quả của phép lọc ngưỡng là một

if

,( yxf

)

T

>

,( yxg

)

=

if

,( yxf

)

T

1 ⎧ ⎨ 0 ⎩

ảnh g(x,y) thỏa:

trong đó 1 tượng trưng cho một giá trị độ xám nào đó mà ta muốn gán cho

đối tượng, và 0 ứng với độ xám gán cho nền.

Khi T chỉ phụ thuộc vào f(x,y), ta có ngưỡng toàn cục (hình 2-1 (a)).

Nếu T phụ thuộc vào cả f(x,y) và p(x,y), ta có ngưỡng cục bộ. Thêm nữa,

22

nếu T phụ thuộc vào tọa độ của x và y, ta có ngưỡng động.

2.2.2 Phương pháp dựa vào biên

Phương pháp phân đoạn dựa vào biên giả định rằng tại các biên vùng

sẽ xảy ra sự thay đổi đột ngột của độ xám. Nhiều phương pháp đã được đề

xuất nhằm tìm ra các biên trong ảnh. Một trong những phương pháp quen

thuộc nhất là sử dụng toán tử gradient (tương ứng với mặt nạ Sobel như

trong hình 2-2), hoặc toán tử Laplace (tương ứng với mặt nạ trong hình 2-3).

Hình 2-2: Mặt nạ Sobel

Hình 2-3: Mặt nạ của toán tử Laplace

Kĩ thuật phân đoạn dựa vào biên không cho được kết quả tốt như

mong đợi, lý do là vì thao tác tìm biên thường liên quan đến các phép toán vi

phân (như 2 toán tử Gradient và Laplace đã nói ở trên), vốn rất nhạy cảm đối

với nhiễu. Như vậy, cách tiếp cận dựa trên đường biên không phải sự lựa

23

chọn tốt cho bài toán phân đoạn ảnh.

2.2.3 Phương pháp dựa trên vùng

Phương pháp phân đoạn dựa trên vùng sử dụng các thuật toán region-

growing để thực hiện phân đoạn ảnh. Thuật toán region-growing bắt đầu từ

một hoặc nhiều điểm hạt giống (seed point) và sau đó lan rộng ra bằng cách

kết hợp với các điểm lân cận nó theo một tiêu chuẩn tương tự nào đó. Nếu

các điểm liền kề nhau là tương tự so với điểm hạt giống, nó sẽ được đánh

dấu thuộc về vùng có điểm hạt giống đó. Quá trình tiếp diễn cho đến khi mọi

điểm ảnh đều được gán vào một vùng nào đó. Nhiều thuật toán đã được đề

xuất cho cách tiếp cận này, trong đó có thể kể đến phương pháp của Chang

và Li [3]. Phương pháp của hai ông có tên gọi là phân đoạn thích nghi nhanh.

Thuật toán chia ảnh thành nhiều vùng nhỏ vốn có một điểm tương đồng nào

đó.. Các vùng nhỏ này sẽ được kiểm tra theo tiêu chuẩn tương tự. Nếu tiêu

chuẩn này thỏa, các vùng này sẽ được nối lại để hình thành vùng lớn hơn.

Quá trình cứ tiếp tục cho đến khi không thể thực hiện được nữa.

Rõ ràng trong hướng tiếp cận này, có thể thấy việc chọn lựa điểm hạt

giống là rất quan trọng, và có thể được thực hiện thủ công hoặc tự động. Một

ví dụ cho trường hợp chọn điểm hạt giống một cách tự động là dựa vào các

đỉnh của histogram.

Xét ví dụ minh họa sau (hình 2-4a: một ảnh kích thước 6*6, trong đó

con số trong mỗi ô chỉ độ xám của ô đó. Với điểm hạt giống bắt đầu là điểm

có tọa độ (3,3) cùng tiêu chí “trị tuyệt đối của độ xám 2 điểm kề nhau không

vượt quá 3”. Đầu tiên, điểm hạt giống được đưa vào vùng. Tiếp theo đó, nó

kiểm tra tất cả các điểm lân cận với điều kiện đã nêu, và đưa những điểm

thỏa vào vùng (hình 2-4b). Những điểm vừa được bổ sung sẽ trở thành điểm

hạt giống mới, và quá trình tiếp tục cho đến khi không còn có thêm điểm nào

24

được thêm vào nữa (hình 2-4c).

(a)

25

(b)

Hình 2-4: Ví dụ về thuật toán Region Growing

(a) ảnh ban đầu, (b) sau khi qua bước lan vùng thứ 1, (c) kết quả cuối cùng

2.2.4 Phương pháp thống kê và Bayes

Phương pháp thống kê và Bayes sử dụng “không gian đặc trưng” để

phân đoạn ảnh. Phương pháp này chuyển thông tin điểm ảnh thành không

gian đặc trưng và tiến hành phân đoạn bằng cách sử dụng các tính chất xác

suất của chúng. Phương pháp xác suất thu hút nhiều quan tâm của các nhà

nghiên cứu vì chúng cho phép thực hiện các phân tích toán học cho bài toán

phân đoạn thay cho những phương pháp sử dụng heuristic đã trình bày phía

trên.

Khuyết điểm lớn nhất của cách tiếp cận dựa trên thống kê và Bayes là

độ phức tạp tính toán của chúng khá lớn. Một khó khăn khác nữa là chúng

đòi hỏi một mô hình ảnh ngẫu nhiên (stochastic image model) tốt, vốn rất

khó đạt được.

2.2.5 Phương pháp mạng nơ ron và logic mờ

Mọi hệ thống thị giác đều cần có tốc độ nhanh, mạnh mẽ, ít nhạy cảm

26

với nhiễu cũng như những sai sót khác ở một mức độ hợp lí. Đó chính là

mục tiêu chính của phương pháp phân đoạn dùng mạng nơ ron và lý thuyết

tập mờ. Nhiều nghiên cứu đã dùng mạng nơ ron vào công việc phân đoạn

ảnh, chẳng hạn trong [4]. Ông đã sử dụng mạng nơ ron 3 lớp, trong đó số nút

ở lớp nhập được xác định theo số đặc trưng được rút ra cho mỗi pixel, số nút

xuất ứng với số phân vùng của ảnh. Mạng nơ ron nhiều lớp cũng đã được

dùng để phân đoạn ảnh nhiễu. Các trọng số được cập nhật sao cho chúng có

thể làm giảm được độ mờ của hệ thống. Như vậy, cách tiếp cận này nhằm

mục đích kết hợp các ưu điểm của tập mờ (suy luận dựa trên tính không

chính xác/không hoàn chỉnh của tri thức) và ưu điểm của mạng nơ ron.

2.3 Làm mảnh biên

Làm mảnh biên là một bước quan trọng và cần thiết trong nhiều bài

toán. Chẳng hạn, trong vấn đề mà ta đang xem xét, có một yêu cầu đặt ra là

tìm ra đường biên (và chỉ cần đường biên mà thôi) của sọ để làm mốc và tạo

thuận lợi cho việc định vị những vùng khác trong não. Nói chung, các thuật

toán làm mảnh sẽ liên tục xóa những điểm ở biên trong vùng đang quan tâm

theo 3 ràng buộc sau đây:

i. Không xóa những điểm cuối.

ii. Không làm mất tính liên tục của vùng.

iii. Không làm vùng đang xét bị rỗng quá mức.

Sau đây là một thuật toán quen thuộc dùng để làm mảnh. Không mất

tính tổng quát, có thể giả sử rằng các điểm thuộc đối tượng đang xét có giá

trị bằng 1 và các điểm nền có độ xám bằng 0. Ta gọi một điểm là điểm biên

(contour point) nếu điểm đó có giá trị 1 và một trong 8 điểm lân cận của nó

2

pN (

6

có giá trị bằng 0 (hình 2-4). Quá trình thực hiện gồm 2 bước, bước 1 như sau:

) 1 ≤

(a)

(b) S(p1) = 1

(c) p2 * p4 * p6 = 0

27

(d) p4 * p6 * p8 = 0

trong đó N(p1) là tổng số điểm lân cận khác 0 của p1:

N(p1) = p2 + p3 + … + p8 + p9

Hình 2-5 :Lân cận 8 của điểm p1

Và S(p1) là số lần chuyển từ 0 sang 1 trong chuỗi (theo đúng thứ tự)

p2, p3, …, p7, p8, p2.

Ở bước 2, ta giữ nguyên 2 điều kiện (a) và (b), nhưng thay (c) và (d)

bằng (c’) và (d’) sau:

(c’) p2 * p4 * p8 = 0

(d’) p2 * p6 * p8 = 0

Bước 1 được áp dụng 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:

Áp dụng bước 1 để đánh dấu điểm cần xóa. i.

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ó

28

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à

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-

29

5-6-7-0-0-0-1-7-1-2-1-3-3-4-4-3.

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

30

đến đường biên.

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

32

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 ý

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

j

i

yxRyx

,(

)

μ ij

∑∑=

x

y

moment. Moment (i,j) của vùng R được định nghĩa như sau:

trong đó x và y là tọa độ của các điểm ảnh trong vùng. Khi đó, tâm khối

=x

μ 10 μ 00

=y

μ 01 μ 00

lượng có thể được tính như sau:

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

2

2

urd ),(

(

x

x

)

(

y

y

)

=

+

e

r

l

r

l

đang xét theo công thức sau:

33

trong đó r và u tương ứng là vùng đang xét và vùng tổng hợp.

e

Bên cạnh đó, ta có thể sử dụng khoảng cách xuyên tâm chuẩn hóa

00μ là diện tích của

urd ),( R u

, trong đó Ru là bán kính của vùng tổng hợp. Vì

=uR

μ 00 4 π

, với giả định vùng, suy ra Ru có thể được xấp xỉ theo công thức

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

20

C

=

μμ 11 μμ 02

11

⎛ ⎜⎜ ⎝

⎞ ⎟⎟ ⎠

S = [x, y]. Gọi C là ma trận hiệp phương sai của vector đó:

(

x

)( yx

y

)

=

11μ

∑∑

x

y

2

x

x

)

=

μ 20

∑∑ − (

x

y

2

y

y

)

=

μ 02

∑∑ − (

x

y

trong đó:

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

34

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.

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

35

thuộc tính được chọn.

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

36

trên thuộc tính đơn được chọn để khai triển đỉnh hiện hành.

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 Phép thử nhị

tí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

39

tính Độ ẩm.

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-]).

9 14

9 14

5 14

5 14

Entropy(S) = Entropy([9+,5-]) = - - = 0.940 log 2 log 2

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:

40

Entropy(S) = -1log 2(1) – 0log 2 (0) = 0

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

n

ilog 2 Pi

tính bằng công thức sau:

i 1 =

Entropy(S) = ∑ -P

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

S

thuộc tính này. Nó được tính theo công thức sau đây:

r S

Value

( A

)

Entropy(S) Gains(S,A) = 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-]

S

Sfalse là đỉnh con với giá trị là “false”, bằng [7+,2-]

r S

Value

( A

)

Entropy(S) Gaint(S,Gió to) = Entropy(S) - ∑

5 14

9 14

41

= Entropy(S) - * * Entropy(Strue) -

5 14

9 14

*0.97 - *0.764 Entropy(Sfalse) = 0.940 -

= 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}

2 5

2 5

3 5

3 5

- = 0.970 Entropy(Snắng) = - log 2 log 2

3 5

2 5

42

*0.0 - *0.0 = 0.970 Gain(Snắng , Độ ẩm) = 0.970 -

1 5

2 5

2 5

*0.0 - *1.0 - *0.0 = 0.570 Gain(Snắng , Nhiệt độ) = 0.970 -

2 5

3 5

*1.0 - *0.918= 0.019 Gain(Snắng , Gió to) = 0.970 -

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

n

( XH

)

p

log

p

−=

i

i

i

1 =

thức tính entropy Shannon như sau:

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ờ

m

n

YXH

p

p

(

|

)

log

−=

ta xét thêm một biến ngẫu nhiên Y = {y1, …, yn}. Ta định nghĩa entropy có

i|j = Pr[X = xi|Y=yj ] là xác suất có

ij

ji |

điều kiện với p

∑∑

j

i

1 =

1 =

n

m

p

p

( YXH

,

)

log

−=

ij = Pr[X = xi,

ij

ij

điều kiện và entropy hợp với p

∑∑

i

j

1 =

1 =

Y=yj].

n

m

p

p

YXI (

,

)

log

=

ij

Thông tin tương hỗ giữa X và Y được xác định theo công thức:

∑∑

i

j

1 =

1 =

ij qp i

j

Dễ thấy I(X,Y) = H(X) – H(X|Y) = H(Y) – H(Y|X) nên còn được gọi

43

là thông tin chia sẻ giữa X và Y.

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

YXI (

,

)

ZXI ( ,

)

Markov, nói cách khác p(x,y,z) = p(x)p(y|x)p(z|y) thì:

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.

44

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

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

45

sinh trong quá trình học là chủ động chứ không phải bị động.

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,

46

ngưỡng đậm độ của tổn thương xuất huyết/tụ máu là đã xác định được,

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 đã

47

được phát hiện (bao gồm cả những vùng bị phát hiện nhầm). Chuyên gia sẽ

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ố

48

đặc trưng khác được sử dụng:

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

49

đậm độ…) cũng như là đậm độ của vùng tụ máu/xuất huyết được phát hiện.

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

50

bằng 7.

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

2

Dist

T ()

)

=

vu ( −

vu −

sau:

(4.3)

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ò

2

T

Dist

vuWvu (

(

)

)

=

khác nhau, ta dùng công thức sau:

(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…). Ở

51

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.

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.

(cid:131) 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ọ.

(cid:131) 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…

(cid:131) 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

52

dương-trán” hay “thái dương-chẩm”.

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

54

định (thuật toán ID3 đã trình bày ở 2.7.2).

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ỗ.

p

Các tập biến ngẫu nhiên X và Y được xác định như sau:

i =

n i N

=

X: là histogram i của ảnh (bin i).

qi

1 N

Y:

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

55

là một số kết quả:

Hình 3-5: Ảnh phân vùng não với

các tiêu chuẩn dừng khác nhau

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

56

có triển vọng.

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).

58

• Lưu dữ liệu xuống đĩa.

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ữ

60

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

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 Tỉ lệ phân lớp

vùng bệnh đúng 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.

61

Những công việc còn tồn tại:

- 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

62

hơn, với dữ liệu đầu vào đa dạng hơn.

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

63

nghệ thông tin, 2003.

[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

64

Association, Virginia, 2004.

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.

65

• Hình ảnh:

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

66

máu không đông).

Hình A-2: Tụ máu ngoài màng cứng.

67

Phân biệt tụ máu ngoài màng cứng và tụ máu dưới màng cứng:

Tụ máu ngoài Tụ máu dưới

màng cứng màng cứng

Hình lồi hai mặt Hình liềm Hình dạng

Không vượt qua Vượt qua Khớp sọ

Vượt qua Không vượt qua Nếp gấp màng

cứng (liềm, lều

não)

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).

69

- Hình ảnh: ổ tụ máu tăng đậm độ trong nhu mô não (hình A-5)

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

71

ứng phải là (00000000 11111111)2 = 255.

- 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.

72

• Nhóm 20 (0020): thông tin chung về khảo sát này.

• 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 0010

(thông tin về Mã bệnh nhân 0020

bệnh nhân) Ngày sinh 0030

Giới tính 0040

Tuổi 1010

Bảng B-1: một số thẻ quan trọng

Nhóm Thành phần Ý nghĩa

0028 Số dòng (chiều cao ảnh) 0010

(thông tin về Số cột (chiều ngang ảnh) 0011

ảnh) Số mặt phẳng 0012

Khoảng cách giữa 2 điểm ảnh (tính bằng 0030

mm)

Số bit được cấp cho mỗi điểm ảnh 0100

Số bit thật sự được sử dụng cho mỗi điểm 0101

ảnh

Trung tâm cửa sổ 1050

Độ rộng cửa sổ 1051

Rescale Intercept 1052

Rescale Slope 1053

Bảng B-2: Một số thẻ quan trọng

73

Nhóm Thành phần Ý nghĩa

0018 Vùng cơ thể được khảo sát 0015

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 0020 Vị trí lát cắt

(thông tin 0037 Hướng của lát cắt

chung về các

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

74

2 thông số:

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].

Hình B-1: ý nghĩa độ rộng cử

a sổ và tâm cửa sổ

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 7 Động mạch thân nền

2 Hố yên 8 Thùy thái dương

3 Lưng yên 9 Não thất IV

4 Sừng thái dương 10 Thùy giun

5 Cầu não

76

6 Bán cầu tiểu não

Hình C-2: Minh họa giải phẫu CT não

1 Thuỳ trán 6 Bể trên thuỳ giun

2 Đoạn ngang động mạch 7 Rãnh Sylvius

8 Cuống đại não não giữa

3 Bể nền (bể trên yên) 9 Củ não sinh tư

4 Thuỳ thái dương 10 Thuỳ chẩm

77

5 Bể quanh củ não sinh tư

Hình C-3: Giải phẫu CT não đơn giản

1 Thuỳ trán

7 Liềm đại não 8 Nhân bèo 2 Sừng trán não thất bên 9 Não thất III 3 Thuỳ đảo 10 Đồi thị

4 Thuỳ thái dương 11 Tuyến tùng

5 Bể trên thuỳ giun 12 Sừng chẩm não thất bên

78

6 Thuỳ chẩm

Hình C-4: Giải phẫu CT não đơn giản

1 Thuỳ trán 7 Chi trước bao trong

2 Sừng trán não thất bên 8 Gối bao trong

3 Đầu nhân đuôi 9 Bao ngoài

4 Nhân bèo 10 Chi sau bao trong

5 Đồi thị 11 Thuỳ chẩm

79

6 Sừng chẩm não thất bên 12 Xoang tĩnh mạch dọc trên

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

80

3 Thuỳ đính 5 Thể chai 6 Thân não thất bên 7 Liềm đại não sau 4 Thuỳ chẩm

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

81

5 Liềm đại não

Hình C-7: Giải phẫu CT não đơ

n giản

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

82

6 Hồi não sau trung tâm