Bối cảnh và vấn đề nghiên cứu
Trong kỷ nguyên số hóa y tế, công nghệ xử lý ảnh số đóng vai trò then chốt trong việc hỗ trợ các bác sĩ và chuyên gia y tế nâng cao độ chính xác của quá trình chẩn đoán cận lâm sàng. Sự phát triển mạnh mẽ của phần cứng máy tính, dung lượng thiết bị lưu trữ cùng các kỹ thuật đồ họa chuyên dụng đã tạo điều kiện thúc đẩy nghiên cứu các bài toán xử lý ảnh y khoa. Hình ảnh y tế ghi nhận thông tin trực quan, phong phú về giải phẫu và bệnh học của cơ thể người mà không bị chi phối bởi yếu tố chủ quan của đối tượng giao tiếp.
Tuy nhiên, dữ liệu ảnh y tế thu nhận từ các thiết bị chuyên dụng như máy chụp X-quang, chụp cắt lớp vi tính (CT Scanner), chụp cộng hưởng từ hạt nhân (MRI) hay máy chụp mạch não thường có chất lượng không đồng đều, độ tương phản thấp, độ phân giải hạn chế hoặc bị nhiễu. Điều này gây nhiều khó khăn cho việc phân tích tổn thương. Trong quy trình xử lý ảnh y khoa, phân đoạn ảnh (image segmentation) là công đoạn khó khăn và mang tính quyết định nhất; nếu kết quả phân đoạn không chính xác sẽ dẫn đến sai lệch ở các bước nhận dạng và chẩn đoán bệnh lý tiếp theo.
Đồ án được thực hiện nhằm giải quyết các nhiệm vụ và mục tiêu nghiên cứu cụ thể sau:
- Nghiên cứu tổng quan về kỹ thuật xử lý ảnh, đặc tính ảnh y học, nguyên lý chẩn đoán hình ảnh và các tiêu chuẩn truyền thông, lưu trữ dữ liệu y tế quốc tế (PACS, DICOM).
- Hệ thống hóa, phân tích nguyên lý toán học và thuật toán của các phương pháp phân đoạn ảnh y học: phân đoạn dựa trên ngưỡng biên độ (ngưỡng cố định, thuật toán đẳng liệu, đối xứng nền, tam giác, biến đổi chóp mũ), phân đoạn dựa trên cơ sở vùng (tăng vùng, chia và hợp vùng trên cây tứ phân), phân đoạn theo miền đồng nhất và phân đoạn dựa vào đồ thị.
- Thiết lập hệ thống tiêu chuẩn đánh giá định lượng cho bài toán phân lớp vùng bệnh (sử dụng phân lớp k-láng giềng gần nhất - kNN).
- Xây dựng chương trình phần mềm thử nghiệm có giao diện tương tác trực quan để thực thi phương pháp phân đoạn ảnh trên dữ liệu thực tế.
Đối tượng nghiên cứu của đề tài là các kỹ thuật xử lý và phân đoạn ảnh số áp dụng trên ảnh y tế (đặc biệt là ảnh chụp cắt lớp vi tính sọ não và ảnh X-quang). Phạm vi nghiên cứu được triển khai trong khuôn khổ Đồ án 1 tại Khoa Công nghệ Thông tin, Trường Đại học Bách Khoa – Đại học Quốc gia Thành phố Hồ Chí Minh vào năm 2023, dưới sự hướng dẫn của TS. Nguyễn Chí Ngọc.
Cơ sở lý thuyết và phương pháp
Đề tài xây dựng trên nền tảng lý thuyết xử lý ảnh số, lý thuyết chẩn đoán hình ảnh y khoa và các tiêu chuẩn công nghệ thông tin y tế:
- Lý thuyết biểu diễn ảnh số: Ảnh được mô hình hóa dưới dạng hàm $n$ biến $P(c_1, c_2, \dots, c_n)$, trong đó mỗi điểm ảnh (Pixel) biểu thị mức cường độ sáng (Gray level) tại tọa độ không gian tương ứng. Không gian mức xám phổ biến là 8-bit (256 mức xám). Cấu trúc lân cận được xác định qua tập 4-láng giềng $N_4(x, y) = {(x+1, y), (x-1, y), (x, y+1), (x, y-1)}$ và tập 8-láng giềng $N_8(x, y) = N_4(x, y) \cup {(x+1, y+1), (x-1, y-1), (x+1, y-1), (x-1, y+1)}$.
- Chuẩn truyền thông và lưu trữ ảnh y tế PACS và DICOM:
- Hệ thống PACS (Picture Archiving and Communication System) tổ chức lưu trữ, quản lý luồng công việc và phân phối ảnh qua phương thức Store-Forward (DICOM Storage Service) hoặc Query/Retrieval kết hợp hệ thống thông tin chẩn đoán hình ảnh RIS, tích hợp kiến trúc hiển thị trên nền Web qua giao thức HTTP.
- Chuẩn DICOM (Digital Imaging and Communications in Medicine) do ACR và NEMA phát triển, hoạt động trên nền giao thức mạng TCP/IP và hệ thống tệp tin tiêu chuẩn (ISO 9660, FAT16). Cấu trúc cơ bản của tệp tin DICOM là Data Set, tập hợp các Data Element được định danh bởi một Tag 32-bit gồm Group Number (16-bit) và Element Number (16-bit). Các trường dữ liệu gồm VR (Value Representation), VM (Value Multiplicity), Value Length và Value Field, được điều khiển bởi quy tắc Transfer Syntax (mặc định là Explicit VR Little Endian Transfer Syntax) cùng các lớp đối tượng dịch vụ SOP (Service Object Pair).
- Nguyên lý chẩn đoán hình ảnh cắt lớp vi tính (CT): Nguyên lý đo độ suy giảm chùm tia X quét qua cơ thể, tái tạo thành các phần tử thể tích (voxel) và biểu diễn thành điểm ảnh 2D thông qua thang đo đậm độ Hounsfield (HU).
- Phương pháp nghiên cứu:
- Phương pháp phân tích - tổng hợp lý thuyết: Khảo cứu cấu trúc tệp dữ liệu y tế, bệnh học chấn thương sọ não và các giải thuật phân đoạn kinh điển.
- Phương pháp mô hình hóa toán học: Xây dựng các điều kiện biên, vị từ đồng nhất $P(R)$ và biến đổi hình thái học Top-hat.
- Phương pháp thực nghiệm phần mềm: Xây dựng ứng dụng thử nghiệm, thiết kế giao diện thao tác dữ liệu và tính toán các độ đo thống kê đánh giá thuật toán.
Nội dung chính theo từng chương
Chương 1: Giới thiệu về xử lý ảnh, ảnh y học và chẩn đoán y học
Chương 1 khái quát toàn diện quy trình 5 bước kinh điển của xử lý ảnh: Thu nhận ảnh $\rightarrow$ Tiền xử lý (khử nhiễu, tăng độ tương phản) $\rightarrow$ Phân đoạn ảnh $\rightarrow$ Biểu diễn và mô tả ảnh (theo biên hoặc theo vùng) $\rightarrow$ Nhận dạng và nội suy. Tiếp đó, chương phân tích các định dạng tệp ảnh tiêu chuẩn (IMG, PCX sử dụng mã hóa độ dài loạt RLE, TIFF, GIF) và đi sâu vào kiến trúc PACS cùng chuẩn tệp DICOM.
Về mặt chẩn đoán hình ảnh, chương cung cấp kiến thức nền tảng về kỹ thuật chụp cắt lớp vi tính (CT do G.N. Hounsfield phát minh), các kiểu quét lát cắt (cắt liên tục - continuity, cắt chồng - overlap, cắt hở - gap) và kỹ thuật định vị (topogram/scout view). Thang đo Hounsfield (HU) của các cấu trúc nội sọ được tổng hợp chuẩn xác:
| Cấu trúc nội sọ |
Trị số giới hạn (HU) |
| Đóng vôi, xương |
80 đến 250 |
| Xuất huyết, tụ máu |
55 đến 75 |
| Chất xám |
35 đến 45 |
| Chất trắng |
20 đến 30 |
| Phù nề |
10 đến 20 |
| Dịch não tủy |
0 đến 10 |
| Nước |
0 |
| Mỡ |
< 0 đến -100 |
| Khí |
-1000 đến -100 |
Chương cũng phân loại chi tiết bệnh học chấn thương sọ não: tổn thương nguyên phát ngoài trục (tụ máu ngoài màng cứng do rách động mạch màng não giữa có dạng hai mặt lồi không vượt qua khớp sọ; tụ máu dưới màng cứng do đứt tĩnh mạch cầu nối vượt qua khớp sọ; xuất huyết khoang dưới nhện), tổn thương trong trục (dập não, xuất huyết não thất, tổn thương trục lan tỏa), tổn thương hộp sọ (nứt sọ, lún sọ) và tổn thương thứ phát (thoát vị não, thiếu máu não). Ngoài ra, tài liệu đề cập đến phân loại 4 độ đặc của tuyến vú trên phim X-quang và thiết lập bộ độ đo đánh giá phân lớp kNN gồm: Độ nhạy (Sensitivity), Độ đặc trưng (Specificity), Tỉ lệ vùng bệnh phân lớp đúng và Tỉ lệ vùng bình thường phân lớp đúng.
Chương 2: Một số phương pháp phân đoạn ảnh y học
Chương 2 thiết lập 5 điều kiện toán học bắt buộc của bài toán phân đoạn vùng ảnh $R$ thành $n$ vùng con $R_1, R_2, \dots, R_n$:
- $\bigcup_{i=1}^{n} R_i = R$ (Phân đoạn phủ kín toàn bộ ảnh).
- $R_i$ là vùng liên thông ($i = 1, 2, \dots, n$).
- $R_i \cap R_j = \emptyset$ với mọi $i \neq j$ (Các vùng đôi một rời nhau).
- $P(R_i) = \text{TRUE}$ với $i = 1, 2, \dots, n$ (Tính thuần nhất bên trong từng vùng).
- $P(R_i \cup R_j) = \text{FALSE}$ với $i \neq j$ (Tính không đồng nhất giữa hai vùng lân cận).
Chương phân tích chi tiết bốn nhóm kỹ thuật phân đoạn:
- Phân đoạn dựa vào ngưỡng biên độ:
- Ngưỡng cố định: Áp dụng giá trị tĩnh $T=128$ cho ảnh có độ tương phản cao.
- Thuật toán đẳng liệu (Ridler & Calvart): Lặp tính ngưỡng $\theta_k = \frac{m_{f, k-1} + m_{b, k-1}}{2}$ dựa trên giá trị trung bình mẫu đối tượng $m_{f}$ và nền $m_{b}$ cho đến khi hội tụ.
- Thuật toán đối xứng nền: Xác định đỉnh cực đại $Max_p$ trên lược đồ xám đã làm trơn (cửa sổ $w=3$ hoặc $w=5$), tìm mức xám $a$ thỏa mãn hàm phân phối xác suất tích lũy $P(a) = p%$, từ đó tính $T = Max_p - (a - Max_p)$.
- Thuật toán tam giác (Zack): Nối đường thẳng $\Delta$ từ điểm cực đại $(H_{max}, b_{max})$ đến điểm độ sáng nhỏ nhất $(H_{min}, b_{min})$, chọn ngưỡng $T$ tại vị trí mức xám có khoảng cách hình học $d$ từ lược đồ đến $\Delta$ đạt cực đại.
- Chọn ngưỡng Bimodal Histogram: Sử dụng phép biến đổi chóp mũ (Top-hat) của Meyer để phát hiện cực tiểu địa phương giữa hai đỉnh histogram: $\text{TopHat}(A, B) = A - (A \circ B) = A - \max_B(\min_A(A))$ (đối với đối tượng sáng).
- Phân đoạn dựa trên cơ sở vùng:
- Thuật toán tăng vùng (Region Growing): Khởi tạo từ các điểm hạt giống (seeds - ví dụ các điểm đạt mức xám cực đại 255 trên ảnh X-quang mối hàn), kiểm tra điều kiện chênh lệch mức xám tuyệt đối $< 65$ và thuộc 8-láng giềng liên thông để gộp vùng.
- Thuật toán chia và hợp vùng (Split and Merge): Sử dụng cấu trúc cây tứ phân (Quadtree). Kiểm tra vị từ $P(R_i) = \text{TRUE}$ khi có ít nhất 80% điểm ảnh thỏa mãn $|z_j - m_i| < 2\sigma_i$ ($z_j$ là mức xám pixel, $m_i$ là mức xám trung bình vùng, $\sigma_i$ là độ lệch chuẩn). Nếu $P = \text{FALSE}$, chia thành 4 miền con; hợp các miền kề nhau nếu vị từ hợp bằng $\text{TRUE}$.
- Phân đoạn theo miền đồng nhất: Xây dựng vị từ $P(R, X, t)$ dựa trên vectơ đặc trưng mức xám $f(k, l) < T$ hoặc vectơ màu không gian RGB $[f_R(k,l), f_G(k,l), f_B(k,l)]^T$.
- Phân đoạn ảnh dựa vào đồ thị: Ánh xạ ảnh thành đồ thị với các nút là điểm ảnh, đánh giá tính chất so sánh cặp miền để phân tách các phân vùng tối ưu.
Chương 3: Cài đặt chương trình thử nghiệm
Chương 3 trình bày việc hiện thực hóa các phương pháp nghiên cứu thành phần mềm ứng dụng:
- Giới thiệu bài toán thực nghiệm phân đoạn trên ảnh y học cụ thể.
- Xây dựng giao diện chương trình thử nghiệm (gồm Giao diện 1 và Giao diện 2), cho phép người dùng tải dữ liệu ảnh, thực thi các bước tiền xử lý lọc lược đồ, áp dụng thuật toán phân đoạn và trực quan hóa kết quả các vùng tổn thương được tách biệt.
Thiết kế và triển khai
Hệ thống phần mềm thử nghiệm được thiết kế theo quy trình xử lý dữ liệu tuần tự:
[Ảnh y học đầu vào (CT/X-quang)]
Quy trình đánh giá độ chính xác của mô hình phân lớp kNN được chuẩn hóa bằng 4 đại lượng:
- $TP$ (True Positive): Số vùng bệnh được phân lớp đúng.
- $FP$ (False Positive): Số vùng bình thường bị nhận diện sai là có bệnh.
- $TN$ (True Negative): Số vùng bình thường được phân lớp đúng.
- $FN$ (False Negative): Số vùng bệnh bị nhận diện sai là không có bệnh.
Các công thức đánh giá định lượng:
$$\text{Độ nhạy (Sensitivity)} = \frac{TP}{TP + FN}$$
$$\text{Độ đặc trưng (Specificity)} = \frac{TN}{TN + FP}$$
$$\text{Tỉ lệ vùng bệnh phân lớp đúng} = \frac{TP}{TP + FP}$$
$$\text{Tỉ lệ vùng bình thường phân lớp đúng} = \frac{TN}{TN + FN}$$
Kết quả và đóng góp
Báo cáo đồ án đạt được các kết quả kỹ thuật và đóng góp học thuật cụ thể:
- Hệ thống hóa toàn diện chuẩn dữ liệu y tế: Làm rõ cấu trúc phân tầng của hệ thống PACS và chi tiết kỹ thuật của chuẩn DICOM (Data Set, Data Element, cú pháp truyền Transfer Syntax Little/Big Endian, các lớp dịch vụ SOP Normalized và Composite).
- Hệ thống hóa bệnh học CT sọ não: Xây dựng bảng tra cứu đối chiếu 9 mức đậm độ Hounsfield của các mô và dịch nội sọ, liên hệ trực tiếp với hình ảnh chẩn đoán của các dạng chấn thương (tụ máu ngoài màng cứng, tụ máu dưới màng cứng cấp/bán cấp/mãn tính, tổn thương xương hộp sọ).
- Thiết lập cơ sở toán học cho phân đoạn ảnh y tế: Cung cấp chi tiết các giải thuật phân ngưỡng tự động (thuật toán đẳng liệu của Ridler-Calvart, thuật toán tam giác của Zack, đối xứng nền, biến đổi chóp mũ Top-hat của Meyer) và thuật toán phân vùng trên cây tứ phân với điều kiện thống kê phương sai mức xám.
- Triển khai ứng dụng thử nghiệm: Xây dựng thành công phần mềm có giao diện người dùng để minh họa quá trình phân đoạn, tạo nền tảng hỗ trợ giảm tải cho bác sĩ chẩn đoán hình ảnh khi phải đọc trung bình tối thiểu 20 lát cắt trên mỗi ca chấn thương.
Hạn chế và hướng nghiên cứu tiếp
- Hạn chế:
- Nghiên cứu dừng lại ở mức độ Đồ án 1 nên phần thực nghiệm chủ yếu tập trung vào việc hiện thực hóa thuật toán và giao diện thử nghiệm; chưa cung cấp bảng số liệu thực nghiệm đo lường đầy đủ trên tập mẫu lâm sàng lớn.
- Giai đoạn định vị vùng tổn thương tự động mới chỉ dừng lại ở nhận xét định tính do thiếu các độ đo định lượng chuyên biệt cho từng loại ảnh.
- Hướng nghiên cứu tiếp:
- Tích hợp và thử nghiệm các thuật toán trên nguồn dữ liệu ảnh CT/MRI thực tế định dạng DICOM chuẩn từ bệnh viện.
- Phát triển hoàn thiện module nhận dạng và nội suy tự động, tiến tới bài toán tái tạo cấu trúc không gian 3D từ chuỗi ảnh cắt lát 2D.
- Tối ưu hóa thuật toán phân đoạn dựa trên đồ thị để nâng cao tốc độ xử lý trong môi trường chẩn đoán trực tuyến qua Web PACS.
Giá trị tham khảo
Đồ án là tài liệu tham khảo hữu ích cho sinh viên các ngành Công nghệ Thông tin, Kỹ thuật Y sinh, Khoa học Máy tính và Kỹ thuật Điện tử - Viễn thông khi nghiên cứu các môn học Thị giác máy tính, Xử lý ảnh số hoặc thực hiện khóa luận tốt nghiệp về xử lý ảnh y tế.
Các nội dung có giá trị tra cứu cao gồm:
- Đặc tả cấu trúc tệp DICOM và kiến trúc lưu trữ/truyền thông PACS.
- Bảng phân bố trị số đậm độ Hounsfield (HU) của cấu trúc sọ não và bệnh học chấn thương sọ não trên ảnh CT.
- Chi tiết các thuật toán phân ngưỡng histogram nâng cao (tam giác Zack, đối xứng nền, Top-hat) và cơ chế phân rã cây tứ phân Quadtree.
Câu hỏi thường gặp
1. Chuẩn DICOM tổ chức thông tin dữ liệu bệnh nhân và hình ảnh y tế như thế nào?
Chuẩn DICOM tổ chức dữ liệu theo cấu trúc Data Set, gồm tập hợp các Data Element. Mỗi Data Element được đặc tả bởi một Tag 32-bit (chứa 16-bit Group Number và 16-bit Element Number), trường VR xác định kiểu dữ liệu, VM xác định số lượng giá trị, Value Length xác định độ dài byte và Value Field chứa nội dung dữ liệu thực tế.
2. Trị số đậm độ Hounsfield (HU) của máu tụ và nhu mô não trên phim chụp CT được quy định như thế nào?
Theo quy ước chuẩn máy CT: nước có đậm độ 0 HU, xương là +1000 HU, khí và mỡ là -1000 HU. Khối máu tụ/xuất huyết có đậm độ từ 55 đến 75 HU (tăng đậm độ, màu trắng sáng), chất xám từ 35 đến 45 HU, chất trắng từ 20 đến 30 HU, phù nề từ 10 đến 20 HU và dịch não tủy từ 0 đến 10 HU.
3. Nguyên lý tìm ngưỡng phân đoạn của thuật toán tam giác (Zack) là gì?
Thuật toán tam giác thiết lập đường thẳng $\Delta$ nối điểm có giá trị cực đại trên biểu đồ histogram $(H_{max}, b_{max})$ với điểm có độ sáng nhỏ nhất $(H_{min}, b_{min})$. Sau đó, thuật toán tính khoảng cách hình học vuông góc $d$ từ các điểm trên histogram đến đường thẳng $\Delta$ và chọn ngưỡng $T$ tại vị trí mức xám có khoảng cách $d$ lớn nhất.
4. Kỹ thuật chia và hợp vùng (Split and Merge) trên cây tứ phân thực hiện theo tiêu chuẩn nào?
Kỹ thuật này biểu diễn toàn bộ ảnh dưới dạng gốc cây tứ phân (Quadtree). Vùng ảnh được kiểm tra bằng một vị từ logic $P(R)$. Ví dụ: $P(R_i) = \text{TRUE}$ nếu có ít nhất 80% pixel thỏa mãn $|z_j - m_i| < 2\sigma_i$ ($m_i$ là mức xám trung bình, $\sigma_i$ là độ lệch chuẩn). Nếu điều kiện không thỏa mãn ($P = \text{FALSE}$), vùng bị chia thành 4 miền con bằng nhau. Sau đó, các miền lân cận có $P(R_i \cup R_j) = \text{TRUE}$ sẽ được hợp lại. Quá trình dừng khi không thể chia hoặc hợp thêm.
5. Bốn tiêu chuẩn định lượng đánh giá độ chính xác của bộ phân lớp vùng bệnh kNN gồm những gì?
Bộ tiêu chuẩn gồm: Độ nhạy $\text{Sensitivity} = \frac{TP}{TP + FN}$ (xác suất phân lớp đúng vùng bệnh thật sự), Độ đặc trưng $\text{Specificity} = \frac{TN}{TN + FP}$ (xác suất phân lớp đúng vùng bình thường), Tỉ lệ vùng bệnh phân lớp đúng $\frac{TP}{TP + FP}$ và Tỉ lệ vùng bình thường phân lớp đúng $\frac{TN}{TN + FN}$.
Kết luận
Báo cáo Đồ án 1 của sinh viên Bùi Xuân Sơn đã hệ thống hóa toàn diện cơ sở lý thuyết về xử lý ảnh số, các chuẩn lưu trữ - truyền thông y tế PACS/DICOM và đặc tính chẩn đoán bệnh học chấn thương sọ não trên phim chụp cắt lớp CT. Tác giả đã trình bày chi tiết bản chất toán học và thuật toán của các phương pháp phân đoạn ảnh y học từ phân ngưỡng biên độ, phân đoạn cơ sở vùng trên cây tứ phân đến phân đoạn dựa vào đồ thị, đồng thời thiết lập bộ tiêu chuẩn đánh giá phân lớp kNN. Đề tài đã xây dựng thành công chương trình thử nghiệm có giao diện tương tác, tạo tiền đề vững chắc cho việc phát triển các công cụ hỗ trợ chẩn đoán hình ảnh y khoa tự động và bán tự động trong tương lai.