Trong công trình này, có hai đóng góp chính: đầu tiên đưa ra một phương pháp mới có thể sử dụng với dữ liệu ảnh y tế 3D để phân đoạn cho ảnh lá gan.. Đóng góp chính của đề tài Có ba đóng
GIỚI THIỆU
Lý do chọn đề tài
1.1 Vai trò của gan trong cơ thể con người
Gan là một cơ quan quan trọng trong cơ thể người Gan có rất nhiều chức năng quan trọng bao gồm sản xuất các chất hóa học cần thiết cho quá trình tiêu hóa, thanh lọc độc tố, tổng hợp protein Tùy theo kích thước và trọng lượng của mỗi cá nhân mà gan có khối lượng từ 1.100 đến 1.800 gram, nói chung, gan của phụ nữ nhỏ hơn gan của đàn ông Gan được phân thành 8 phần (segment) dựa vào những phân phối của mạch máu Gan được che chở và bảo vệ bởi xương sườn, nên nếu trong trường hợp bị té ngã hoặc tai nạn, sẽ đỡ bị dập nát hơn những cơ quan khác trong bụng như tụy tạng, lá lách…
Gan là cơ quan duy nhất trong cơ thể cùng một lúc tiếp nhận máu từ 2 nguồn khác nhau: 30% từ tim và 70% từ tĩnh mạch cửa (portal vein) Máu từ tim với các dưỡng khí và nhiên liệu sẽ nuôi dưỡng các tế bào gan Máu đến từ tĩnh mạch cửa nhận máu từ những cơ quan như dạ dày (stomach), lá lách (spleen), tụy tạng (pancreas), túi mật (gallbladder), ruột non (small intestine), ruột già (colon), cũng như các cơ quan khác nhau trong bụng Vì gan là cơ quan đầu tiên, tiếp nhận các chất dinh dưỡng và hóa tố khác nhau hấp thụ từ hệ thống tiêu hóa, gan đã trở thành "nhà máy lọc máu" chính và quan trọng nhất trong cơ thể Thức ăn và tất cả các nhiên liệu, vì thế, sẽ phải đi qua gan trước để được thanh lọc và chế biến thành những vật liệu khác nhau Ðây cũng là nguyên nhân chính mà ung thư từ nhiều cơ quan và bộ phận khác có thể lan sang gan một cách dễ dàng
Các chức năng chính của gan đó là:
Chuyển hóa nhiên liệu : cung cấp cho cơ thế một nguồn năng lượng liên tục, ổn định, ngày cũng như đêm, no cũng như đói
Chuyển hóa chất đường: đường là nguồn năng lượng chính cho não, hồng huyết cầu, bắp thịt và thận Khi sự cung cấp nhiên liệu và thức ăn từ hệ thống tiêu hóa bị gián đoạn, sự sống còn của các tế bào và cơ quan kể trên sẽ hoàn toàn lệ thuộc vào gan
Sản xuất và chuyển hóa các acid béo: các acid béo không những chỉ là những nguồn nguyên liệu quý báu khi đói, mà còn là những thành phần cơ bản của nhiều chất hóa học và kích thích tố khác nhau Sự điều chỉnh các chất mỡ này là một trong những yếu tố quan trọng bảo vệ cơ thể chúng ta trước nhiều bệnh tật
Bào chế và thoái biến chất đạm: gan là cơ quan chính trong việc
Thanh lọc độc tố: gan và thận là hai cơ quan chính trong cơ thể có khả năng loại bỏ các độc tố
Tổng hợp chất mật: chất mật (bile) sau khi được chế tạo trong tế bào gan, sẽ được cô đọng và dự trữ trong túi mật Sau mỗi bữa ăn, chất mật sẽ theo ống dẫn mật đi xuống tá tràng, trà trộn với thức ăn và giúp cơ thể nhũ hóa các chất béo
Tóm lại, gan đóng nhiều vai trò quan trọng trong việc bảo tồn sức khỏe của chúng ta Tuy nhiên, gan cũng có thể bị tàn phá bởi độc tố, vi trùng, vi khuẩn và nhiều bệnh tật khác nhau May mắn thay, với khả năng tự tái tạo, trong đa số trường hợp viêm gan kinh niên (còn được gọi là mãn tính), gan vẫn tiếp tục hoạt động một cách tương đối bình thường trong một thời gian lâu dài
1.2 Mục đích và ý nghĩa của việc phân đoạn gan trong ảnh CT bụng
Tại Việt Nam và các nước khác trên thế giới, việc chẩn đoán bệnh dựa trên ảnh chụp CT là một hoạt động cơ bản của các bệnh viện lớn Mặc dù có thể áp dụng việc chẩn đoán các bệnh về gan bằng các phương pháp xét nghiệm khác nhưng nói chung, việc chẩn đoán qua ảnh chụp CT vẫn thường được áp dụng phổ biến
Phân đoạn lá gan trong ảnh CT bụng (gọi tắt là phân đoạn gan) có vị trí đặc biệt quan trọng, không những làm giảm thời gian phân đoạn bằng tay của bác sỹ, nó là bước xử lý nền tảng cho các ứng dụng khác nhau như:
Chẩn đoán và theo dõi các loại bệnh về gan
Lập kế hoạch mổ trên máy tính trong can thiệp cắt khối u sao cho thể tích gan khỏe mạnh còn lại nhiều nhất trong khi vẫn loại bỏ được khối u
Mổ mô phỏng bằng thực tế ảo (virtual reality) trước khi mổ thật
Lập kế hoạch xạ trị
1.3 Các vấn đề còn tồn tại trong phân đoạn ảnh lá gan
Trong những năm trở lại đây, việc phân đoạn ảnh gan đã có những bước tiến lớn và quan trọng trong xử lý ảnh y tế Để trích xuất được các thông tin giải phẫu học của gan đòi hỏi phải qua quá trình xử lý bằng tay và yêu cầu phải có sự kiểm tra kỹ lưỡng, do đó chiếm nhiều thời gian và công sức Thêm vào đó, công việc phân đoạn một số lượng lớn gan còn phụ thuộc vào tay nghề của chuyên gia, có thể gây ra sự nhàm chán, thiếu tập trung và có thể gây ra sai sót
Các phương pháp áp dụng máy tính như trí tuệ nhân tạo và xử lý ảnh đã cung cấp nhiều phương pháp tự động và bán tự động trong phân đoạn gan cũng đã ra đời Tuy nhiên, phân đoạn ảnh gan là một việc khó khăn bởi các yếu tố của ảnh CT như: sự tương phản thấp và mờ của các đường biên Các tính chất này của ảnh CT là do các ảnh hưởng của việc cử động của bệnh nhân, cách xử lý của máy thu… Thêm vào đó, các cơ quan khác bên cạnh gan như: lá lách, dạ dày thường có các phần có độ sáng gần giống với độ sáng của gan Tức là có thể gây ra sự nhầm lẫn giữa các cơ quan với nhau nếu chỉ dựa vào mức sáng Tất cả các lý do nêu trên cộng thêm sự khác nhau rất lớn về hình dáng của lá gan ở những vị trí khác nhau trong ổ bụng làm tăng thêm sự phức tạp và độ khó của việc phân đoạn gan.
Mục tiêu của đề tài
Việc phân đoạn ảnh gan chính xác có vai trò rất quan trọng trong y khoa, nó có mối liên hệ đến sức khỏe của người bệnh, ảnh hưởng đến chẩn đoán và điều trị các bệnh về gan Do đó, đề tài hướng tới một phương pháp phân đoạn gan có độ chính xác cao, thời gian chạy hợp lý.
Các khó khăn khi thực hiện đề tài
Phân đoạn ảnh là một bài toán khó của xử lý ảnh nói chung, trong đó phân đoạn ảnh y tế có nhiều khó khăn và thử thách Kết quả của quá trình phân đoạn được sử dụng vào nhiều mục đích khác như phân tích hình ảnh bằng máy tính Do đó việc phân đoạn ảnh có chính xác hay không có ý nghĩa to lớn và cần phải được đặt lên hàng đầu Các khó khăn khi phân đoạn ảnh gan từ ảnh CT ổ bụng có thể kể đến đó là:
Ảnh CT là ảnh có độ tương phản thấp và các cạnh mờ, một số hiệu ứng của máy chụp có thể làm xuất hiện các thông tin sai lệch như các vằn hay sọc hình miệng chén (hiệu ứng beam hardening)
Tuy có bề mặt khá đồng nhất về độ sáng nhưng độ sáng của gan trong ảnh
CT khá giống với các cơ quan khác nằm gần kề với gan như tim, lá lách, dạ dày hay lớp mỡ dưới xương sườn
Trong quá trình chụp ảnh CT, ảnh có thể bị mờ do cử động của bệnh nhân hoặc do chuyển động thở của người bệnh
Gan là cơ quan có hình dạng phức tạp, kích thước gan cũng không giống nhau trong các trường hợp bệnh nhân khác nhau.
Đóng góp chính của đề tài
Có ba đóng góp chính của đề tài đó là:
Đề xuất một phương pháp đủ mạnh, tăng cường độ chính xác và hiệu quả trong việc phân đoạn ảnh lá gan
Đưa ra sự thể hiện (visualization) của ảnh lá gan để chứng minh cho sự hiệu quả trong cách tiếp cận của phương pháp
Đánh giá và ước lượng kết quả đạt được trong các trường hợp khác nhau so với một số phương pháp phân đoạn trước đó và so với phân đoạn chuẩn.
Tóm tắt nội dung của luận văn
Các chương tiếp theo sẽ nói đến các phương pháp trong cách tiếp cận của đề tài cùng với các thí nghiệm và đánh giá của phương pháp đề xuất
Trong chương 2, luận văn giới thiệu một số cách tiếp cận tiêu biểu trong phân đoạn ảnh Trong từng phương pháp, các thuật toán chính được minh họa bằng một số phương trình hoặc hình ảnh Sau đó đề cập đến phạm vi ứng dụng của phương pháp phân đoạn đó, các ưu điểm và nhược điểm…Do có nhiều cách tiếp cận trong phân đoạn ảnh nói chung, nên phần lớn nội dung của chương tập trung vào các phương pháp có nhiều ứng dụng trong phân đoạn ảnh y tế hoặc có sự kế thừa trong phương pháp phân đoạn của đề tài từ phương pháp đó
Chương 3 giải thích về phương pháp level set và cách hiện thực của nó đồng thời các hướng tiếp cận trong phương pháp level set cũng được làm rõ Trong các hướng tiếp cận đó đề tài tập trung vào hướng tiếp cận mà đề tài dựa vào Phần còn lại của chương nói về các vấn đề trong quá trình giải phương trình level set, cũng như các cách để giải quyết những vấn đề đó
Chương 4, là chương nói chi tiết về phương pháp được đề xuất trong phân đoạn ảnh gan bao gồm ý tưởng và các bước thực hiện của phương pháp được đề xuất Phương pháp có ba bước cơ bản đó là tiền xử lý dữ liệu, áp dụng mô hình để phân đoạn ảnh gan và các hiệu chỉnh trong quá trình tiến triển của hàm level set
Chương 5, bao gồm các thử nghiệm và so sánh kết quả với kết quả của phương pháp phân đoạn khác Đầu tiên là mô tả tập dữ liệu được thử nghiệm, sau đó mô tả các tham số thực nghiệm trong phương trình level set Sự đánh giá định tính và định lượng cũng được thực hiện tại phần tiếp theo của chương Cuối cùng là thời gian chạy của chương trình cũng được mô tả trong phần cuối của chương
Phần kết luận trong chương 6 nói về những gì đã đạt được so với mục tiêu của đề tài, khả năng ứng dụng và các hướng phát triển có thể có trong tương lai của phương pháp được đề xuất
Cuối cùng là các tài liệu đã được sử dụng làm thao khảo trong quá trình làm đề tài này.
TỔNG QUAN VỀ PHÂN ĐOẠN ẢNH GAN
Định nghĩa về phân đoạn ảnh
Định nghĩa tổng quát về phân đoạn ảnh là: “bài toán phân đoạn trong xử lý ảnh là quá trình phân chia một ảnh số thành tập hợp các vùng, vùng được phân chia tương ứng với đối tượng mà phân đoạn ảnh mong muốn”
Trong định nghĩa này, quá trình phân đoạn là quá trình chuyển một biểu diễn số học của ảnh thành tập toán học Kết quả của quá trình này là tập hợp các vùng nơi mà mỗi vùng tương ứng với một đối tượng được gọi là đối tượng quan tâm
Hình 1: Các phương pháp phân đoạn ảnh được khảo sát
1.1 Biểu diễn số học của một ảnh
Chúng ta có thể định nghĩa một ảnh như một hàm toán học, tập xác định của hàm là n-chiều và giá trị của hàm là rời rạc Một hàm I biểu diễn một ảnh số hai chiều (2D) có đầu vào là tọa độ (x, y) Giá trị của hàm I(x, y) đại diện cho giá trị vật lý đo được Trong trường hợp đơn giản nhất, giá trị vật lý đó có thể là độ sáng, nhiệt độ, khoảng cách hoặc áp suất Trong một số trường hợp, giá trị đầu ra của hàm là nhiều chiều như trong trường hợp của ảnh màu Đối với ảnh 2D, một phần tử của ảnh được gọi là một pixel (pixel là dạng viết ngắn của picture element) Ảnh ba chiều (3D) được biết đến phổ biến là các ảnh MR, khi đó các phần từ của ảnh được gọi là voxel (voxel là viết ngắn của volume element) Chuỗi thời gian (time series) của ảnh 3D có thể xem là một biểu diễn của ảnh 4D
Tổng kết lại chúng ta có thể định nghĩa ảnh số I như sau:
𝐼: 𝑅 𝑛 → 𝑅 𝑘 Trong đó n là số chiều của tập xác định, k là số chiều của đầu ra
Là sản phẩm của quá trình phân đoạn Mỗi một vùng là một tập hợp các phần từ của ảnh (các pixel) nằm trong tập hợp đó Các điểm ảnh này được nhóm thành một vùng và chúng được coi như là cùng nằm trong một đối tượng Điều đó có nghĩa là các điểm ảnh trong cùng một vùng có chung một đặc điểm, chúng được gọi là tương tự nhau
1.3 Đối tượng quan tâm Đối tượng quan tâm là một thực thể trong ảnh mà chúng ta quan tâm dùng cho các xử lý sau Ví dụ, trong một ảnh y tế, chúng ta quan tâm đến hình dạng của các khúc xương, khi đó thuật toán phân đoạn sẽ cố gắng trích xuất hình dạng của xương từ ảnh.
Các phương pháp phân đoạn ảnh lá gan tự động
2.1 Phân đoạn dựa trên mức xám
Phương pháp phân đoạn dựa trên mức xám trở nên khá phổ biến trong giai đoạn đầu của xử lý ảnh Ý tưởng là tạo một hàm đánh dấu vùng dựa trên mức xám và áp dụng hàm này cho toàn bộ các điểm ảnh của ảnh Kết quả sẽ được nhóm thành các nhóm tạo thành các vùng phân đoạn
Một ví dụ về hàm 2-vùng là
Trong đó I là giá trị mức xám và T là giá trị ngưỡng Đối với phân đoạn nhiều hơn hai vùng, hàm cũng làm nhiệm vụ phân chia đầu vào thành những khoảng khác nhau
Trong thực tế, việc tìm giá trị ngưỡng có thể tiến hành theo những cách sau: thống kê từ các đối tượng đã được phân đoạn thủ công, thống kê từ histogram của vùng chứa đối tượng đã biết
Là một phương pháp phân đoạn đơn giản khi đã biết được ngưỡng phân đoạn
Nếu áp dụng vào phân đoạn gan thì việc thống kê để tìm ra ngưỡng phân đoạn là khó vì xác định vị trí gan một cách tự động là khó Việc thống kê từ các kết quả phân đoạn trước đó không có ý nghĩa cao do mức xám của gan phụ thuộc vào loại máy quét CT cho ảnh gan đó và trên thực tế các máy khác nhau cho các giá trị rất khác nhau
2.2 Phương pháp dựa trên luật (Rule Based)
2.2.1 Ý tưởng Ý tưởng của phương pháp là dùng một cơ sơ tri thức (knowledge base) và các động cơ suy diễn (inference engine) được mô tả bằng ngôn ngữ hình thức Trong phân đoạn gan, đầu vào có thể là phân bố độ sáng, các quan hệ lân cận hoặc các đặc điểm hình học của gan
Sau đó dùng hệ thống rút trích các thành phần khác nhau không phải gan theo thứ tự từ dễ đến khó Thứ tự rút trích là: lớp không khí nền trong ảnh CT; phổi và các lớp không khí khác bên trong cơ thể; lớp mỡ dưới da; lớp cơ; xương nằm phía bên trong so với lớp cơ; động mạch chủ; xương sống; trái tim Trong mỗi bước rút trích sử dụng cơ quan đã được rút trích trước đó để hỗ trợ
Bước tiếp theo là chọn nhân (seed) cho gan bằng phân ngưỡng Sau đó từ nhân thực hiện giải thuật tăng trưởng vùng (region growing) với ràng buộc là các cơ quan đã rút trích trước đó
Không cần dùng đến nhiều dữ liệu training tuy nhiên đòi hỏi hệ thống phải mô tả tốt các cơ quan khác trong cơ thể
Khi các cơ quan khác có bất thường (nằm ngoài luật) có thể gây khó khăn cho việc rút trích.
Các phương pháp phân đoạn ảnh lá gan bán tự động
3.1 Phương pháp dựa vào đồ thị (graph based)
Phương pháp Livewire còn được gọi là Intelligent Scissors, là một phương pháp cho phép người dùng lựa chọn vùng quan tâm trên ảnh dựa vào một số điểm được xác định trước
Cách làm của phương pháp livewire như sau:
- Ảnh gốc được nhân chập (convolution) với bộ lọc Sobel để được ảnh gradient
- Ảnh gradient được dùng để xây dựng đồ thị với đỉnh là điểm ảnh, cạnh là đường nối từ một điểm đến các điểm xung quanh nó, các cạnh này được gán trọng số dựa vào hàm giá trị (cost function) Hàm giá trị là hàm có tính chất đạt giá trị càng nhỏ nếu càng gần đường biên
- Sử dụng thuật toán tìm đường đi ngắn nhất (thuật toán Dijkstra) để tìm đường nối giữa các điểm được người dùng chọn, các điểm này thường nằm trên đường biên mong muốn
Dựa trên nguyên tắc của phương pháp livewire gốc, Eric N Mortensen và William A Barrett [3] [4] đã đưa ra một số phương pháp cải tiến thuật toán này:
Xây dựng một hàm giá trị (cost function) phụ thuộc vào cách chọn các điểm hạt giống (seed point) trên đường biên Phương pháp áp dụng gọi là on-the-fly training Theo đó, hàm giá trị được cho bởi công thức sau
Trong đó 𝑓 𝑍 là hàm Laplacian Zero-Crossing được tính bằng cách nhân chập ảnh với mặt nạ Laplacian of Gaussian 𝑓 𝐺 là hàm Gradient Magnitude cũng là thành phần quan trọng nhất, G là độ lớn của vector gradient tại điểm đang xét,
G càng lớn thì 𝑓 𝐺 càng nhỏ 𝑓 𝐷 gọi là thành phần hướng độ dốc (Gradient Direction) có tính chất giá trị càng nhỏ nếu vector gradient tại hai điểm càng giống nhau, mục đích của 𝑓 𝐷 là tạo một ràng buộc mượt cho đường biên Các hệ số 𝜔 𝑍 , 𝜔 𝐺 , 𝜔 𝐷 > 0 là các hằng số Điều kiện ràng buộc của các hệ số này là 𝜔 𝑍 + 𝜔 𝐺 + 𝜔 𝐷 = 1
Người dùng chọn 2 điểm trên đường biên gọi là các điểm neo (anchor) Sử dụng giải thuật Dijkstra để tìm đường đi ngắn nhất trên đồ thị giữu hai điểm nói trên Đường đi ngắn nhất cho tổng trọng số là nhỏ nhất hay tổng gradient lớn nhất, tức là gần với đường biên nhất trên ảnh giữa hai điểm neo đã chọn trên biên
Để tăng độ chính xác của thuật toán, các tác giả xây dựng một cơ chế tự động sinh ra các điểm hạt giống gọi là path cooling Ý tưởng đó là tính sự ổn định của một điểm khi nằm trên biên dựa vào thời gian (tính bằng ms) chúng nằm trong đường biên đang vẽ và số lần chúng được vẽ lại Những điểm nào đủ ổn định sẽ được “đóng băng” và coi như là một điểm hạt giống
Phương pháp livewire cho kết quả khá tốt đối với những ảnh mà phần đối tượng và phần nền là phân biệt rõ ràng
Là một phương pháp đơn giản trong phân đoạn ảnh
Một trong những nhược điểm lớn nhất của phương pháp livewire đó là giữa hai điểm được chọn, có thể tồn tại nhiều đường có giá trị nhỏ hơn đường biên mong muốn Điều này xảy ra đối với ảnh có nhiều đối tượng gần giống nhau hoặc đối với ảnh gần đồng nhất, đây cũng là đặc điểm thường thấy đối với ảnh y tế Sự chính xác của phân đoạn phụ thuộc nhiều vào sự khéo léo chọn điểm hạt giống của người chọn
Phương pháp sử dụng thuật toán Dijkstra là thuật toán có phức tạp khá cao, độ phức tạp của giải thuật là 𝑂(|𝐸| + |𝑉|)𝑙𝑜𝑔(|𝑉|) với |𝐸| là số cạnh của đồ thị và |𝑉| là số đỉnh của đồ thị Đối với ảnh, số đỉnh là khá lớn vì thế thuật toán chạy tương đối chậm
Hình 2: phân hoạch từ min-cut Được đưa ra bởi Boykov và Jolly [7], ý tưởng chính của phương pháp đó là mô hình hóa ảnh bằng đồ thị, một phép cắt hay một cách phân đoạn ảnh được coi là tìm ra một tập hợp các cạnh của đồ thị Khi đó một hàm năng lượng ℰ được sử dụng dựa trên các cạnh này Một phép cắt tìm ra được đường biên mong muốn tương ứng với giá trị nhỏ nhất của hàm năng lượng ℰ Để xây dựng một hàm năng lượng thỏa mãn các tính chất trên, ban đầu ảnh được lựa chọn trước hai phần, phần đối tượng O (objects) và phần nền B (background) Đồ thị 𝐺 = (𝑉, 𝐸) được xây dựng như sau:
Trong đó p là tập đỉnh và s, t là hai điểm gọi là nguồn (source) và đáy (sink) Cần xây dựng đồ thị sao cho các cạnh n- link nhỏ nhất khi nằm trên đường biên cần phân đoạn còn các cạnh t-link thể hiện đặc tính vùng cần phân đoạn Hàm năng lượng xây dựng trên đồ thị đã có được cho dưới dạng
Trong đó 𝑅(𝐴) = ∑ 𝑝∈𝑃 𝑅 𝑝 (𝐴 𝑝 ) (đặc tính vùng, tương ứng trọng số trên t-link), 𝐵(𝐴) = ∑{𝑝,𝑞}∈𝑁,𝑝≠𝑞𝐵 𝑝,𝑞 (đặc tính biên, tương ứng trọng số trên n-link), 𝑃 là tập các điểm ảnh
Khi hàm năng lượng ℰ đạt giá trị nhỏ nhất, chúng ta có một lát cắt nhỏ nhất (min cut) Để tìm lát cắt này, sử dụng thuật toán (ví dụ thuật toán Ford-Fulkerson hoặc giải thuật Kolmgorov) để tìm luồng lớn nhất (cũng là lát cắt nhỏ nhất) Phương pháp của Boykov and Jolly có đưa ra một số cải tiến, trong đó quan trọng nhất là để tránh việc một số kết quả sau khi phân đoạn còn chưa tốt, các ràng buộc cứng được đưa vào (các seed) Theo đó, hàm năng lượng sử dụng các ràng buộc này có thể giảm thời gian tính toán lát cắt nhỏ nhất
Phương pháp Graph cut là phương pháp được sử dụng rộng rãi bên cạnh phương pháp level set (được trình bày ở phần sau)
Hàm năng lượng thể hiện được thông tin của đường biên cũng như thông tin vùng
Có thể áp dụng được cho ảnh N chiều
Là giải thuật thực hiện tối ưu toàn cục nên kết quả phân đoạn có nhiều chi tiết khác, phải có các thao tác thêm để loại bỏ
Có xu hướng tạo ra đường biên nhỏ (shrinking bias) không phù hợp khi phân đoạn các chi tiết nhỏ (ví dụ các mạch máu trong ảnh y tế)
Chạy chậm với giải thuật Ford-Fulkerson, tốn bộ nhớ với giải thuật Kolmogorov
Grabcut được đưa ra bởi C Rother, V Komogorov và A Blake [42] là một phương pháp phân đoạn ảnh dựa trên ý tưởng của phương pháp Graph cut Người dùng áp đặt các ràng buộc cứng: vẽ một hình chữ nhật, đường cong bao quanh đối tượng hoặc chỉ định một vùng của ảnh là một phần của nền (background) hoặc đối tượng (foreground)
Mục đích đưa ra phương pháp Grabcut làm cho việc phân đoạn ảnh nhanh và chính xác hơn Dựa trên cơ chế của phương pháp Graph cut, phương pháp GrabCut có những cải tiến sau:
Sử dụng ảnh màu thay vì ảnh mức xám bằng cách sử dụng Gaussian Mixture Model (GMM)
Cho phép một phương pháp lặp để đạt được phân đoạn
Cho phép gán nhãn không đầy đủ (incomplete labelling) để làm giảm tương tác của người dùng mà vẫn đảm bảo chất lượng của kết quả
Theo phương pháp Grabcut, người dùng khởi tạo ba vùng riêng biệt trên ảnh gọi là
- T U (Tập chưa dán nhãn) Ảnh được biểu diễn bởi một mảng
𝑧 = (𝑧 1 , … , 𝑧 𝑛 , … , 𝑧 𝑁 ) Một phân đoạn ảnh được biểu diễn bởi mảng
Mô hình hàm năng lượng Gibbs được sử dụng cho phân đoạn ảnh có dạng
CƠ SỞ LÝ THUYẾT
Cơ sở lý thuyết của phương pháp level set
Cauchy định nghĩa tâm đường cong C tại một điểm là giao điểm của hai pháp tuyến vô cùng gần nhau Khi đó bán kính cong R là khoảng cách từ tâm tới đường cong C và nghịch đảo của bán kính là độ cong
Hình 3: Bán kính cong của đường cong C tại tiếp điểm P
Một định nghĩa khác về độ cong đó là xét một điểm P(x, y) di chuyển dọc theo đường cong C với vận tốc đơn vị T Gọi s là tham số thời gian, có vận tốc T(s) tại thời điểm s là đạo hàm của khoảng cách theo thời gian:
𝜕𝑠) = (𝑥 𝑠 , 𝑦 𝑠 ) (2) Độ cong k được định nghĩa là độ lớn của vector gia tốc hướng tâm trong chuyển động (đạo hàm của vận tốc theo thời gian)
Hình 4: Hai vector T và N tại hai điểm của đường cong, giá trị giới hạn của 𝜕𝑇/𝜕𝑠 sẽ có hướng của N và độ cong là tốc độ quay của khung (phần đường chấm)
1.2 Độ cong trong phương pháp level set
Hình 5: Biểu diễn của đường cong theo hàm khoảng cách
Xét đường cong 𝐶 = {(𝑥, 𝑦) ∈ 𝑅 2 |𝜙(𝑥, 𝑦) = 0} là giao của mặt 𝜙(𝑥, 𝑦) với mặt Oxy Hàm 𝜙 được gọi là hàm khoảng cách từ điểm (x,y) tới đường cong 𝐶 Các điểm nằm trong 𝐶 ứng với 𝜙 > 0, các điểm nằm ngoài 𝐶 ứng với 𝜙 < 0
Gọi 𝑇⃗ là vector tiếp tuyến đơn vị tại một điểm có vị trí s trên đường cong, 𝑁⃗⃗ là pháp tuyến tại s, khi đó ta có:
Khi di chuyển dọc theo đường cong với vận tốc đơn vị, lấy đạo hàm của 𝜙(𝑥, 𝑦) theo vị trí s cho kết quả bằng 0 Từ đó theo công thức quy tắc dây chuyền
Lấy đạo hàm bậc hai của 𝜙 theo s ta có 𝜙 𝑠𝑠 = 0 hay là
𝑑𝑠𝑇⃗ ⟩ (6) Nhớ rằng đối với tiếp tuyến T ta luôn có
Vì vậy mà công thức (6) trở thành
Vì 𝑘 là giá trị vô hướng nên ta có thể đưa ra ngoài tích vô hướng, công thức (3) trở thành (theo (5))
|∇𝜙| ⟩ Áp dụng quy tắc dây chuyền ta được
Do đó chúng ta có công thức
|∇𝜙|) (8) Dạng cụ thể của 𝑘 có thể được tính theo các đạo hàm của 𝜙 như sau
Sử dụng level set trong phân đoạn ảnh
Xét một bề mặt nói chung là đường cong trong mặt phẳng hoặc mặt trong không gian lớn hơn hai chiều Giả sử bề mặt này chuyển động theo phương của pháp tuyến tại mỗi điểm trên đó với hàm vận tốc F, trong đó F là hàm phụ thuộc vào các tham số sau
L: các thuộc tính hình học cục bộ của bề mặt như độ cong (curvature) hay hướng của vector pháp tuyến tại mỗi điểm trên bề mặt
G: các thuộc tính toàn cục của bề mặt, là những thuộc tính phụ thuộc vào toàn bộ hình dạng của bề mặt, ví dụ như tích phân dọc theo bề mặt
I: các thuộc tính độc lập với hình dạng của bề mặt, chẳng hạn một vận tốc bên ngoài tác động lên việc chuyển động của bề mặt
Tùy thuộc vào từng ứng dụng mà các thuộc tính trên được sử dụng vào việc lập mô hình của hàm tốc độ
2.2 Phương trình level set trong trường hợp tổng quát
Coi bề mặt tăng trưởng 𝐶 (trong không gian R N ) như tập mức 0 (zero level set) của một hàm Lipschitz 𝜙 có chiều cao hơn
Cần tạo phương trình mô tả việc tiến hóa của 𝜙(𝑥, 𝑡) theo thời gian chứa dịch chuyển của C(𝑡) như tập mức 𝜙 = 0 Để như vậy, tại thời điểm t nếu một điểm 𝑥(𝑡) nằm trên C(𝑡) thì
𝜙(𝑥(𝑡) , 𝑡) = 0 theo định nghĩa của đường 𝐶 ta luôn có 𝜙(𝑥, 𝑦) = 0 Do đó (quy tắc dây chuyền)
Ta đã biết, nếu F là hàm vận tốc hướng ra ngoài
𝜙 𝑡 = 𝐹|∇𝜙| (10) Đây là phương trình tiến hóa của hàm 𝜙 còn được gọi là phương trình level set
2.3 Hàm khoảng cách có dấu
Có nhiều các để xây dựng hàm 𝜙, trong đó khi hiện thực phương pháp level set người ta thường sử dụng hàm khoảng các có dấu (signed distance function - SDF)
Xét 𝜙(𝑥, 𝑡) từ R N R với x là một điểm trong không gian R N , tại thời điểm t được định nghĩa
−𝑑 𝑛ế𝑢 𝑥 𝑛ằ𝑚 𝑏ê𝑛 𝑛𝑔𝑜à𝑖 𝐶(𝑡) với d là khoảng cách Euclide ngắn nhất từ x bề mặt 𝐶(t) 𝜙 như vậy thỏa mãn điều kiện 𝐶(𝑡 = 0) = {𝑥|𝜙(𝑥, 𝑡 = 0) = 0}
Tại mỗi thời điểm t sau khi vừa thực hiện một tiến hóa đều dễ dàng xây dựng lại hàm
𝜙 này Hàm SDF còn có một đặc điểm là |𝛻𝜙| = 1 tại tất cả mọi nơi, một điều kiện thuận tiện để thực hiện phương trình (10) 𝜙 cũng là hàm Lipschitz (là hàm thỏa mãn
∀ (𝑥, 𝑦) ∃ 𝑐| |𝑓(𝑥) − 𝑓(𝑦)| ≤ 𝑐|𝑥 − 𝑦|) vì có đạo hàm bậc 1 bị chặn
2.4 Các lợi ích của dạng phương trình tập mức phụ thuộc thời gian
(10) có thể viết lại dưới dạng
Là dạng phương trình Hamilton – Jacobi Dạng này có một số thuận lợi khi dùng để mô hình sự tiến hóa của bề mặt [33]
𝜙(𝑥, 𝑡) vẫn còn là một hàm (với mỗi một giá trị đầu vào chỉ có duy nhất một giá trị đầu ra) chừng nào F còn là hàm trơn, như vậy bề mặt tăng trưởng C(t) là tập mức {𝜙 = 0} có thể thay đổi cấu trúc liên kết, tách ra, nhập vào hoặc tạo thành các góc nhọn khi 𝜙 tiến hóa
Có thể sử dụng lưới rời rạc trong miền của x và xấp xỉ vi phân hữu hạn (finite difference) để tính đạo hàm theo thời gian và không gian
Giả sử 𝜙(𝑥, 𝑡) từ 𝑅 2 𝑅 có thể sử dụng lưới đồng nhất cách đều nhau một khoảng h (cartesian grid) với ký hiệu các node là (i,j), 𝜙 𝑖𝑗 𝑛 là xấp xỉ 𝜙(𝑖ℎ, 𝑗ℎ, 𝑛Δ𝑡), Δ𝑡 là các khoảng thời gian cách đều nhau, (10) có thể viết thành
𝜙 𝑖𝑗 𝑛+1 − 𝜙 𝑖𝑗 𝑛 Δ𝑡 + (𝐹)(∇ 𝑖𝑗 𝜙 𝑖𝑗 𝑛 ) = 0 (11) trong đó đạo hàm theo thời gian được tính theo phương pháp forward và ∇ 𝑖𝑗 𝜙 𝑖𝑗 𝑛 là một toán tử vi phân hữu hạn phù hợp để tính đạo hàm theo không gian
Có thể dễ dàng tính các thuộc tính hình học cơ bản của bề mặt từ hàm 𝜙
Không có nhiều khác biệt nếu sử dụng trong không gian 3 chiều hoặc cao hơn
Hình 6: Sử dụng lưới cartesian (bên trái) và quadtree/octree (bên phải) để làm nền tiến hóa hàm 𝜙 theo (10)
2.5 Vai trò của các thành phần trong hàm tốc độ F
Hàm tốc độ F thường được chia làm hai thành phần
𝐹 0 không phụ thuộc vào curvature gọi là thành phần bình lưu (advection term)
Thành phần này điều khiển việc mở rộng hay thu hẹp của đường cong ban đầu Giả sử 𝐹 0 > 0 và 𝐹 1 (𝜅) = 0, từ (10) có
𝜙 𝑡 + 𝐹 0 |𝛻𝜙| = 0 sử dụng xấp xỉ vi phân hữu hạn được
𝜙 𝑖𝑗 𝑛+1 − 𝜙 𝑖𝑗 𝑛 Δ𝑡 + 𝐹 0 |∇ 𝑖𝑗 𝜙 𝑖𝑗 𝑛 | = 0 Hay 𝜙 𝑖𝑗 𝑛+1 < 𝜙 𝑖𝑗 𝑛 Như vậy nếu (𝑖, 𝑗) là một điểm nằm trên đường cong tại thời điểm 𝑡 = 𝑛Δ𝑡 thì 𝜙 𝑖𝑗 𝑛 = 0 Tiếp theo tại thời điểm 𝑡 = (𝑛 + 1)Δ𝑡 sẽ có 𝜙 𝑖𝑗 𝑛+1 0 nên đường cong mở rộng ra ngoài Sau một thời gian tiến hóa đường cong sẽ có dạng hình tròn, tiếp tục tiến hóa sẽ thu nhỏ lại chỉ còn một điểm
Giá trị 𝜀 điều khiển độ trơn của bề mặt 𝜀 càng nhỏ thì bề mặt càng trơn và ngược lại
Hình 8: Hình sao biến đổi theo phương trình (10) dưới tác dụng của 𝐹 = 𝜅
Các vấn đề trong hiện thực của phương pháp level set
3.1 Rời rạc hóa phương trình tập mức
Cần rời rạc hóa hàm phương trình tập mức (10) để hiện thực trên máy tính Để thỏa mãn điều kiện entropy với các toán tử đạo hàm trong không gian [33] sử dụng xấp xỉ hữu hạn đạo hàm bậc 1 (first order finite difference) Upwind Scheme
Giả sử 𝜙(𝑥, 𝑡) từ R N R, x ∈ R N thỏa mãn 𝐶(𝑡) = {𝑥|𝜙(𝑥, 𝑡) = 0} 𝜙 𝑖 𝑛 và 𝐹 𝑖 là giá trị của hàm 𝜙 và tốc độ 𝐹 tại điểm i , thời điểm 𝑛Δ𝑡, phương trình (10) có thể xấp xỉ như sau:
Trong đó 𝐷 𝑖 −𝑥 𝜙 và 𝐷 𝑖 +𝑥 𝜙 là toán tử đạo hàm backward và forward theo không gian
3.2 Khởi tạo lại hàm SDF
Sau khi tiến hóa dưới tác dụng của hàm tốc độ F , nói chung 𝜙 không còn là hàm khoảng cách có dấu, cần phải khởi tạo 𝜙 trở lại hàm khoảng cách Nếu sử dụng cách thông thường, tính lại khoảng cách ngắn nhất từ mọi điểm trong không gian đến bề mặt mới thì sẽ mất nhiều thời gian và chi phí (trên lưới 𝑛 × 𝑛 node, chi phí cho thao tác này là 𝑂(𝑛 3 ))
Sussman et al, 1994 [54] đề xuất khởi tạo lại bằng cách tìm một hàm 𝜙 khác có cùng tập mức 0 mà thỏa mãn |𝛻𝜙| = 1 Để làm như vậy chỉ cần tiến hóa hàm 𝜙 hiện tại một số lần theo phương trình
𝜙 𝑡 + 𝑠𝑖𝑔𝑛(𝜙)(|𝛻𝜙| − 1) = 0 (13) Phương trình này có thể hiện thực bằng cách rời rạc hóa tương tự như trên
Khi hàm 𝜙 thay đổi theo công thức (10), không chỉ giá trị của 𝜙 tại những điểm trên lưới thuộc mức 0 thay đổi mà tất cả những giá trị 𝜙 tương ứng với các điểm khác trên lưới cũng thay đổi Việc tính toán lại hàm 𝜙 theo (10) cũng như khởi tạo lại theo (13) tốn rất nhiều chi phí nếu thực hiện trên toàn miền không gian x ∈ R N
Qua theo dõi thấy rằng mỗi lần lặp bề mặt chỉ biến đổi trên một số ít lân cận gần với vị trí hiện tại, còn các điểm ở quá xa thì tuy có biến đổi nhưng chưa ảnh hưởng gì đến việc xác định vị trí mới của bề mặt, do đó có thể khoanh hẹp phạm vi theo dõi biến đổi trên một dải hẹp (narrowband) [39] có độ rộng 𝛿 xung quanh tập mức 0 Dải hẹp này là chính là tập mức {𝜙 = ±𝛿/2}
Hình 9: Dải hẹp độ rộng δ xung quanh tập mức {𝜙 = 0}
Việc cập nhật và khởi tạo lại 𝜙 chỉ cần làm trên những điểm nằm bên trong dải hẹp Sau l lần lặp bề mặt tiến đến gần đường biên của dải hẹp (l được chọn qua thực nghiệm), dải hẹp mới sẽ được thay thế
Trong trường hợp đặc biệt của phương pháp level set, khi mà 𝐹 > 0 có thể thay thế mô hình tiến hóa bằng một hàm thời gian đến (arrival function) 𝑇, với 𝑇(𝑥) là thời gian để đến được điểm 𝑥 từ bề mặt 𝐶 ban đầu
Hình 10: 𝑇(𝑥, 𝑦) cho biết thời gian bề mặt tiến đến (𝑥, 𝑦) từ bề mặt ban đầu Hàm 𝑇(𝑥) như vậy thỏa mãn phương trình Eikonal
|𝛻𝑇|𝐹 = 1 (14) Phương trình (14) nói rằng gradient của mặt thời gian đến tỷ lệ nghịch với tốc độ di chuyển của bề mặt tăng trưởng
Khi được rời rạc hóa (giống như với phương pháp level set) và hiện thực với cấu trúc dữ liệu heap, độ phức tạp của giải thuật Fast marching chỉ còn là 𝑂(𝑛 𝑙𝑜𝑔𝑛) với lưới gồm 𝑛 node, nhanh hơn nhiều so với phương pháp level set.
Sử dụng phương pháp level set trong phân đoạn ảnh
Malladi et al, 1995 [33] đưa ra cách tiếp cận level set để trích ra đối tượng cần phân đoạn trong ảnh như sau: bề mặt tăng trưởng tiến hóa từ bề mặt ban đầu cần dừng lại trong lân cận của đường biên đối tượng Khi tất cả mọi điểm trên bề mặt tăng trưởng đều dừng lại không tiến thêm được nữa, việc tính toán kết thúc và đó là hình dạng của đường biên cần tìm
Hàm tốc độ dựa trên dữ liệu ảnh làm điều kiện dừng cho việc tăng trưởng bề mặt như sau:
𝐹 0 là thành phần không phụ thuộc vào hình dạng của bề mặt, có tác dụng làm bề mặt giãn ra hay co lại
𝐹 1 là thành phần phụ thuộc vào hình dạng của bề mặt
𝑔 là hệ số được xây dựng dựa trên dữ liệu ảnh:
Ngoài ra, có thể dùng một phiên bản khác của hàm 𝑔 như sau
Hình 11: dạng (16), (17) và (18) của hàm phát hiện cạnh
∇𝐺 𝜎 ⋆ 𝐼(𝑥, 𝑦) là ảnh gradient của ảnh đầu vào I được lọc với bộ lọc thông thấp
Gaussian có độ rộng đặc trưng σ α là trọng số điều khiển mức độ giảm của hàm Các hàm này được gọi là hàm phát hiện cạnh do tính chất của hàm đạt giá trị nhỏ nhất tại biên của đối tượng (những điểm có gradient lớn) Giá trị của 𝑔 nhỏ làm cho hàm vận tốc nhỏ, hay hàm 𝑔 làm cho tốc độ tăng trưởng bề mặt tại biên của đối tượng chậm lại
4.2 Giải thuật chung phân đoạn ảnh
Bằng cách cập nhật giá trị của hàm 𝜙 trên một lưới, có thể dịch chuyển các tập mức mà không cần xây dựng một cách tường minh Mỗi pixel trên ảnh tương ứng với một node trên lưới hoặc có thể giảm số node bằng cách resize lại ảnh Đường cong tiến sát đến biên của narrowband
Khởi tạo lại hàm 𝜙 là SDF theo (13) trong narrowband
Tính hàm tốc độ F tác dụng lên mỗi điểm nằm trong narrowband
Gọi 𝜙 𝑖,𝑗 𝑛 là 𝜙 tại thời điểm n trên điểm ( iΔx , jΔy ), tính
𝜙 𝑖,𝑗 𝑛+1 theo (10) sử dụng phương pháp difference finite
Tìm đường cong sau khi biến đổi (tập mức 0 mới
{𝜙 = 0}) từ các điểm có 𝜙 𝑖,𝑗 𝑛+1 xấp xỉ 0 trên narrowband Đường cong ổn định
Xác định đường cong ban đầu (tự động hoặc bán tự động) Đặt narrowband mới xung quanh đường cong
Tạo lưới kích thước m×n dựa trên ảnh
Hình 12: Giải thuật chung cho việc phân đoạn ảnh bằng phương pháp level set
PHƯƠNG PHÁP ĐỀ XUẤT
Ý tưởng về sự tương tự giữa các lát cắt trong ảnh lá gan
Đối với các cơ quan trong cơ thể người nói chung và lá gan nói riêng, nếu không có gì bất thường, bề mặt của lá gan là trơn mượt Điều đó thể hiện ở các hình chụp cắt lớp là tương tự nhau về hình dáng đối với các lát cắt gần nhau
Hầu hết các phương pháp phân đoạn ảnh trên từng lát cắt đều sử dụng các thông tin liên quan đến lát cắt được phân đoạn mà thôi Do đó nếu lát cắt được phân đoạn có những vùng có cạnh mờ hoặc độ tương phản thấp thì phương pháp phân đoạn sẽ không chính xác Có những lát cắt được phân đoạn độc lập nằm liền kề nhau nhưng lại khác nhau rất lớn về hình dáng và các thông số về kích thước
Trong thực tế, khi một chuyên gia phân đoạn ảnh lá gan, đối với các lát cắt khó (biên mờ, không phân biệt giữa các cơ quan, ảnh nhiễu) họ thường xem một vài lát cắt liền trước hoặc liền sau lát cắt được phân đoạn đó để có thêm thông tin và quyết định đường biên được phân đoạn Dựa vào hướng tiếp cận này, tác giả đề xuất phương pháp phân đoạn dựa trên dữ liệu ảnh được tạo bởi cả ba chiều Với sự kết hợp của chiều thứ ba, thông tin của các lát cắt liền kề nhau được bổ trợ cho nhau và do đó khiến cho kết quả phân đoạn được tốt hơn Hơn thế nữa, tại bề mặt của lá gan được phân đoạn, do không còn có sự biến đổi lớn về hình dáng của lá gan được phân đoạn giữa các lát cắt gần nhau nữa nên bề mặt gan sau khi phân đoạn trên tập dữ liệu ba chiều sẽ trơn mượt hơn hay giống với thực tế hơn
Trong số các phương pháp phân đoạn ảnh thì các phương pháp phân đoạn ảnh dựa vào đường biên hoạt động được sử dụng rộng rãi kể từ lần đầu tiên được giới thiệu vào năm 1988 [39] Trong mô hình cổ điển, bề mặt ban đầu được tiến hóa dưới tác dụng của các lực nội tại (quyết định bởi hình dạng của bề mặt) và lực bên ngoài (dựa trên các dữ liệu ảnh) để tối thiểu năng lượng của một hàm Hàm này được thiết kế sao cho tại các bề mặt gần với biên của đối tượng cần phân đoạn sẽ có giá trị nhỏ Hạn chế chính của mô hình (còn gọi là snake) này là rất khó để theo dõi các tình huống bề mặt thay đổi cấu trúc liên kết, chẳng hạn như tách làm đôi hoặc nhập vào làm một
Phương pháp phân đoạn ảnh bằng level set đã kế thừa các điểm mạnh của snake và giải quyết được hạn chế trên Dựa trên cơ sở lý thuyết vững chắc và đầy đủ, framework level set đã dần thay thế cho snake với một lượng lớn các phương pháp được phát triển trong thời gian gần đây
Các phương pháp level set nói chung được chia làm hai dạng chính: dựa trên các đặc tính về cạnh (edge-based) hoặc dựa trên các đặc tính về vùng (region-based) để phân đoạn ảnh
Mô hình edge-based level set: do sử dụng gradient để xác định các đối tượng trong ảnh nên nhạy cảm với nhiễu và phụ thuộc nhiều vào việc xác định vị trí bề mặt ban đầu Tuy nhiên có khả năng phân đoạn đúng các đối tượng không đồng nhất
Mô hình region-based level set: ít bị ảnh hưởng của nhiễu, tương đối độc lập với vị trí bề mặt ban đầu nhưng gặp khó khăn khi phân đoạn các đối tượng không đồng nhất
Phương pháp level set là phương pháp phân đoạn không phụ thuộc vào số chiều của tập dữ liệu Do đó có thể áp dụng phương pháp level set cho tập dữ liệu ba chiều Tác giả đề xuất một mô hình hàm năng lượng dựa vào các yếu tố vùng và các yếu tố cạnh để phân đoạn dựa vào các tính chất sau:
Gan là cơ quan lớn nhất trong ổ bụng của cơ thể người Đối với lá gan bình thường thì độ sáng của ảnh lá gan là tương đối đồng nhất, điều này phân tách gan với phần còn lại của ổ bụng vốn có sự khác nhau về độ sáng Vì vậy một hàm năng lượng dựa vào yếu tố vùng được đưa vào trong mô hình đề xuất giúp hạn chế phân đoạn sai tại những vùng có đường biên yếu
Tại những vùng có đường biện mạnh, yếu tố cạnh sẽ giúp cho việc phân đoạn trở nên nhanh chóng và thuận lợi hơn Vì vậy tác giả đề xuất thêm thành phần có yếu tố cạnh vào trong phương trình level set bên cạnh thành phần có yếu tố vùng nhằm thu hút mặt tiến hóa tại những vùng có đường biên rõ nét.
Mô hình đề xuất
2.1 Mô hình level set trên tập dữ liệu 3 chiều
Mục tiêu của phương pháp là xây dựng một hàm năng lượng ℇ(𝜙) dựa trên tập dữ liệu ảnh ba chiều và tìm bề mặt làm tối thiểu hóa hàm năng lượng này Bề mặt tìm được đó chính là biên của đối tượng cần tìm Mô hình mà đề tài đề xuất có dạng
ℇ(𝜙) = 𝛼𝐿(𝜙) + 𝛽𝐴(𝜙) + 𝑇(𝜙) + 𝜇𝑅(𝜙) (19) Trong đó 𝛼, 𝛽 và 𝜇 là các hệ số của hàm năng lượng, chúng có giá trị thực và
𝛼, 𝜇 > 0 Các thành phần của hàm năng lượng sẽ được giải thích sau đây
Cho một ảnh 𝐼 ba chiều xác định trong miền Ω, định nghĩa một hàm phát hiện cạnh như sau
1 + |∇𝐺 𝜎 (𝑥, 𝑦, 𝑧) ∗ 𝐼(𝑥, 𝑦, 𝑧)| 2 Chúng ta cũng định nghĩa các hàm Heaviside 𝐻(𝑥) , Dirac Delta 𝛿(𝑥) như sau:
𝑑𝑥𝐻(𝑥) Trong mô hình của Caselles [9] hay mô hình geodesic, việc đi tìm biên của một đối tượng chính là tìm tối thiểu của hàm năng lượng có dạng sau:
Việc tìm giá trị nhỏ nhất 𝐶 của 𝐿(𝐶) sẽ đạt được nếu 𝑔(∇I(𝐶(𝑠) )) bằng không và khi đó C nằm trên cạnh của đối tượng Dạng level set của mô hình (19) như sau
Thành phần năng lượng 𝐿(𝐶) còn có thể biểu diễn bằng cách khác với 𝛿 là hàm Dirac delta
Hàm 𝐴(𝜙) được thêm vào có tác dụng tăng tốc quá trình tiến triển của bề mặt mức 0 Hàm 𝐴(𝜙) tính toán hệ số của khối trong bề mặt, có tác dụng cần thiết trong trường hợp bề mặt khởi tạo xa so với biên của đối tượng
Nếu bề mặt khởi tạo nằm bên trong đối tượng, giá trị hệ số α là âm, trong trường hợp này, thành phần 𝐴(𝜙) có tác dụng mở rộng sự tiến triển của hàm level set Khi bề mặt khởi tạo nằm ngoài đối tượng, giá trị hệ số 𝛼 là dương và có tác dụng làm co lại sự tiến triển của hàm level set Chúng ta có thể thấy vai trò của hàm 𝐴(𝜙) là làm chậm quá trình mở rộng hoặc thu hẹp lại của bề mặt khi nó tiến gần đến biên của đối tượng cần phân đoạn
Mô hình geodesic có một nhược điểm đó là phụ thuộc vào thành phần gradient biên của cơ quan khác mạnh hơn, thuật toán sẽ chọn đường biên đó thay vì chọn biên của gan Do đó, tác giả đề tài đề xuất thêm thành phần năng lượng 𝑇(𝜙) còn được gọi là thành phần fitting được định nghĩa bởi [10] Trong mô hình của mình, sử dụng region-based do Chan-Vese đề xuất dựa trên kỹ thuật phân đoạn Mumford-Shah Mục tiêu của phương pháp này là tối thiểu hàm năng lượng phụ thuộc vào giá trị trung bình của mức xám I bên trong và bên ngoài mặt cong Định nghĩa mặt cong biến đổi
C trong miền ảnh Ω là biên của tập con ω của Ω (𝜔 ⊂ Ω, 𝜕𝜔 = 𝐶) Ký hiệu 𝑖𝑛𝑠𝑖𝑑𝑒(𝐼) cho vùng ω và 𝑜𝑢𝑡𝑠𝑖𝑑𝑒(𝐼) cho vùng 𝛺\𝜔̅ Hàm năng lượng cần phải tối thiểu là:
C là mặt cong bất kỳ trong khi biến đổi; 𝑐 1 , 𝑐 2 là các giá trị trung bình của mức xám
I bên trong và bên ngoài mặt cong; 𝜆 1 , 𝜆 2 > 0
Xét trường hợp ảnh I 0 tạo bởi hai vùng : vùng đối tượng có độ sáng xấp xỉ I 0 i và vùng nền có độ sáng xấp xỉ I 0 o Đường biên bao quanh đối tượng là mặt cong C 0 Có thể thấy rằng C 0 tối thiểu hóa 𝜆 1 𝐹 1 (𝐶) + 𝜆 2 𝐹 2 (𝐶)
Xét hình 13a, một hình dung trong không gian hai chiều, khi C nằm bên ngoài đối tượng sẽ có F 2 I ≈ 0 do độ sáng của tất cả các pixel bên ngoài C xấp xỉ với độ sáng trung bình I 0 o , còn bên trong C độ sáng trung bình I 0 i sẽ có chênh lệch với độ sáng của vùng nền và vùng đối tượng, do đó F 1 I > 0 , dẫn đến fitting term
𝜆 1 𝐹 1 (𝐶) + 𝜆 2 𝐹 2 (𝐶) > 0 Tương tự với hình 13b và 13c Chỉ khi C≡C 0 fitting term mới có giá trị nhỏ nhất
Fitting term ≈ 0 Hình 13: Fitting term nhỏ nhất khi đường cong nằm trên biên của đối tượng [10]
Thành phần cuối cùng 𝑅(𝜙) với 𝜇 > 0 được gọi là thành phần chính quy level set được định nghĩa bởi C.Li [31]
Trong đó 𝑝 là một hàm thế vị (potential function) 𝑝: [0, ∞) → 𝑅 Thành phần chính quy có tác dụng bỏ qua việc cần phải khởi tạo lại của hàm level set trong quá trình tiến triển và do đó giảm các tính toán không cần thiết cũng như làm giảm sai số
Ta định nghĩa hàm thế vị như sau:
𝜕𝜙 = −𝑑𝑖𝑣(𝑑 𝑝 (|∇𝜙|)∇𝜙) Trong đó 𝑑 𝑝 là hàm được định nghĩa bởi
Từ các phân tích trên, hàm năng lượng ℇ(𝜙) trong dạng (19) có thể được viết như sau
Bây giờ chúng ta sẽ thực hiện biến đổi phương trình (26) về dạng phương trình level set chỉ sử dụng 𝜙 Đối với thành phần fitting term được tính như sau
= ∫ |𝐼(𝑥, 𝑦, 𝑧) − 𝑐 2 | 2 (1 − 𝐻(𝜙(𝑥, 𝑦, 𝑧)))𝑑𝑥𝑑𝑦𝑑𝑧 Ω Độ sáng trung bình bên trong và bên ngoài của bề mặt được tính như sau
∫ (1 − 𝐻(𝜙(𝑥, 𝑦, 𝑧)))𝑑𝑥𝑑𝑦𝑑𝑧 Ω Để giải phương trình Euler-Lagrange cho hàm chưa biết 𝜙, chúng ta xét đến một phiên bản xấp xỉ của hàm 𝐻 và hàm 𝛿 là hai hàm 𝐻 𝜖 và hàm 𝛿 𝜖 khi 𝜖 → 0
𝜀 2 + 𝑥 2 Ngoài ra, cũng có thể dùng một xấp xỉ khác
1, 𝑥 < −𝜖 Khi đó hàm Dirac delta tương ứng là
0, |𝑥| > 𝜖 Trong đề tài này sử dụng hàm 𝐻 2,𝜖 và hàm 𝛿 2,𝜖
Hình 14: Xấp xỉ hàm Heaviside và hàm Dirac delta
Tổng hợp lại, hàm năng lượng ở công thức (26) trở thành
Phương trình (27) có dạng phương trình Euler-Lagrange với 𝜙(𝑥, 𝑦, 𝑧) Giải phương trình này cho nghiệm có dạng phương trình vi phân riêng phần (PDE) như sau
2.2 Phương pháp sai phân hữu hạn
Cách giải của phương trình (28) có thể được hiện thực bằng cơ chế sai phân hữu hạn như sau Giả sử bước nhảy của các biến cho việc tính toán là Δ𝑥 = Δ𝑦 Δ𝑧 = 1 Hàm level set phụ thuộc vào thời gian 𝜙(𝑥, 𝑦, 𝑧, 𝑡) được xác định bởi 𝜙 𝑖,𝑗,𝑘 𝑛 thông qua các thông số không gian (𝑖, 𝑗, 𝑘) và thông số thời gian 𝑛 Khi đó phương trình level set được viết thành dạng:
Trong đó 𝑆(𝜙 𝑖,𝑗,𝑘 𝑛 ) là xấp xỉ của vế phải trong phương trình tiến hóa của hàm level set Phương trình (29) có thể viết một cách khác
𝜙 𝑖,𝑗,𝑘 𝑛+1 = 𝜙 𝑖,𝑗,𝑘 𝑛 + Δ𝑡𝑆(𝜙 𝑖,𝑗,𝑘 𝑛 ), 𝑛 = 0,1,2, … (30) Đây là quá trình lặp cho hiện thực của phương trình (28)
2.3 Phân tích và đánh giá cho mô hình đề xuất
Giá trị của hệ số 𝝁
Cho bước nhảy Δ𝑥 = Δ𝑦 = Δ𝑧 = 1 chúng ta cần chọn tham số 𝜇 sao cho giá trị của nó thỏa mãn điều kiện Courant Friedrichs-Lewy (CFL) để phương trình (30) ổn định [20], điều kiện đó là 𝜇Δ𝑡 < 1/4 Trong thực hiện, chúng ta có thể tăng giá trị của Δ𝑡 để tăng tốc độ tiến hóa của hàm level set và giá trị của 𝜇 cần phải thỏa mãn điều kiện CFL như trên.
Tiền xử lý dữ liệu
Tập dữ liệu đầu vào của chúng ta là một tập ảnh CT định dạng DICOM, các đặc trưng của ảnh đó là kích thước của một pixel và khoảng cách giữa các slice Trước khi thực hiện thuật toán
Trong mô hình đề xuất ở trên, các chiều là đẳng hướng với nhau, do kích thước của pixel trong ảnh CT khác so với khoảng cách giữa các slice nên sau khi chồng các slice để có được tập dữ liệu ba chiều, chúng ta phải thực hiện nội suy dữ liệu ảnh về kích thước sao cho một voxel là đẳng hướng trên cả ba chiều
Tiếp theo, để giảm bớt nhiễu của ảnh y tế mà vẫn giữ lại các đặc trưng cạnh và các đường biên, ảnh được lọc thông qua một bộ lọc khuếch tán dị hướng (anisotropic diffusion) [40]
Khởi tạo cho hàm level set
4.1 Lý do cần khởi tạo
Phương pháp level set là phương pháp phân đoạn sử dụng phương trình vi phân, do đó cần phải có một khởi tạo cho hàm level set Mặc dù phương pháp level set hội tụ tại biên của đối tượng nhưng tốc độ hội tụ phụ thuộc nhiều vào vị trí khởi tạo của hàm level set Vị trí khởi tạo càng gần biên thì tốc độ hội tụ càng nhanh, do đó rút ngắn được thời gian chạy Vì vậy lựa chọn phương pháp khởi tạo tốt cho hàm level set sẽ giúp cho quá trình tính toán thuận lợi hơn
4.2.1 Khởi tạo thưa Đầu tiên, dùng phương pháp level set trong 2D để phân đoạn cho một số lát cắt tiêu biểu Cụ thể phương pháp phân đoạn trong 2D bằng phương pháp live wire được sử dụng [4] để phân đoạn cho lát cắt mẫu Tập hợp các lát cắt mẫu này sẽ được dùng để làm khởi tạo cho hàm level set trong 2D
Các lát cắt được chọn để phân đoạn theo tiêu chí sau: a Các lát cắt giữa được cách nhau một khoảng Δ lát cắt cho trước b Thêm vào một số lát cắt khó phân đoạn: lát cắt có hình dạng phức tạp hoặc có đường biên của gan yếu
Hình 15: Khởi tạo thưa cho hàm level set
Sau khi có các slice được phân đoạn thủ công, tiến hành phân đoạn các slice lân cận theo thứ tự slice nào gần slice được phân đoạn thủ công thì được phân đoạn trước Kết quả phân đoạn sẽ được copy sang slice kế tiếp và dùng kết quả này làm khởi tạo cho slice kế tiếp đó Giả sử các slice 𝑆 𝑀 1 , 𝑆 𝑀 2 , 𝑆 𝑀 3 là các slice được phân đoạn thủ công theo thứ thự 𝑀 1 < 𝑀 2 < 𝑀 3 và giữa chúng là các slice chưa được phân đoạn Lấy 𝑆 𝑀 2 làm trung tâm, chúng ta phân đoạn cho các slice theo thứ tự
𝑆 𝑀 2 +1 , 𝑆 𝑀 2 +2 , … , 𝑆 𝐾 và 𝑆 𝑀 2 −1 , 𝑆 𝑀 2 −2 , … , 𝑆 𝐿 trong đó kết quả của phân đoạn slice trước là khởi tạo cho slice sau Với 𝑆 𝐾 là slice nằm giữa 𝑆 𝑀 2 và 𝑆 𝑀 3 và 𝑆 𝐿 là slice nằm giữa
Hình 16: phân hoạch các slice
Nếu áp dụng quy tắc này cho toàn bộ tập dữ liệu, chúng ta sẽ đảm bảo các slice được phân đoạn có khởi tạo là kết quả phân đoạn từ slice phân đoạn thủ công gần nó nhất
Do đặc điểm của lá gan, đối với các lát cắt nằm gần nhau, hình dáng của lá gan trên các lát cắt đó là tương tự nhau, do đó, không cần thiết phải khởi tạo tất cả các lát cắt mà chỉ cần khởi tạo tại một số lát cắt tiêu biểu
Có thể dùng một số phương pháp level set khác khi phân đoạn khi phân đoạn trong 2D Một ví dụ đó là phương pháp live-wise của W.A Barrett [4], tuy nhiên phương pháp này có nhược điểm là người dùng phải xác định nhiều điểm nằm trên biên của đối tượng Đặc điểm của hàm level set là tối thiểu hóa hàm năng lượng, khởi tạo không cần quá chính xác, chỉ cần gần với biên của đối tượng là được Vì vậy, khi đánh giá trong phần thử nghiệm, phần đánh giá độ chính xác cho khởi tạo sẽ không cần thiết phải tính đến.
Sơ đồ phương pháp
Hình 17: Sơ đồ thực hiện của phương pháp phân đoạn ảnh lá gan trong không gian ba chiều.
THỬ NGHIỆM VÀ KẾT QUẢ
Tập dữ liệu
Phương pháp đề xuất được thử nghiệm trên tập dữ liệu như sau
Tập dữ liệu 3D-IRCADb [52] là tập dữ liệu chứa ảnh CT của 20 người khác nhau, trong đó có 5 trường hợp lá gan là bình thường Bảng sau cung cấp thông tin về ảnh trong các trường hợp bệnh nhân khác nhau bao gồm kích thước của lá gan (dài, rộng, cao), kích thước của ảnh cũng như độ sáng trung bình của gan
Kích thước gan (cm) Độ sáng trung bình gan
Bảng 1: Thông tin tập dữ liệu được thử nghiệm
Định dạng ảnh: DICOM, trong từng trường hợp, có một thư mục chứa ảnh đã được gán nhãn (đã được phân đoạn) bằng tay bởi chuyên gia Ảnh đã được phân đoạn cũng có định dạng DICOM.
Hệ số trong phương trình level set
Bằng thực nghiệm, mỗi một tham số sẽ được tối ưu bằng cách cố định các tham số khác và thay đổi tham số đó
Bảng sau cho thấy các tham số thực nghiệm được áp dụng cho 5 trường hợp ảnh nêu trên
Giá trị tối ưu hóa
Bảng 2: giá trị các tham số trong phương trình level set được đề xuất, các giá trị này được giữ giống nhau trong các trường hợp thử nghiệm
Phương pháp đánh giá
3.1 Đánh giá định tính, sự trơn mượt của bề mặt
Là cách đánh giá định tính bằng mắt kết quả thu được Dựa vào các yếu tố sau:
Bề mặt gan có trơn mượt hay không
Vùng được phân đoạn có chính xác hay không, ngoài ra, phương pháp định lượng còn được dùng khi đem so sánh với phương pháp phân đoạn bằng 2D Cụ thể, chọn một số lát cắt tại những vị trí cần so sánh, sau đó dùng phương pháp phân đoạn 2D trên lát cắt đó và đem so sánh với kết quả của phương pháp phân đoạn trong 3D
Những vị trí phân đoạn sai, có lấy nhầm hoặc bỏ xót phần nào của gan hay không
3.2 Đánh giá định lượng Để đánh giá chất lượng của kết quả phân đoạn, phương pháp đánh giá định lượng so sánh kết quả thu được với tham chiếu được phân đoạn bởi chuyên gia và đánh giá dựa trên sự sai khác Có nhiều phương pháp đánh giá khác nhau tùy vào mục đích, giống như mô tả của Niessen et al [36] và Gerig et al [19] Hai loại thường được dùng nhất là thể tích chồng lấn (volumetric overlap) và khoảng cách bề mặt (surface distance) Trong mỗi loại lại có định nghĩa khác nhau về cách đo sự chồng lấn và khoảng cách khác nhau Đối với việc đánh giá chất lượng phân đoạn trong đề tài, nhiều loại đánh giá khác nhau được sử dụng Ưu điểm của việc làm này là mỗi loại đánh giá khác nhau sẽ làm nổi bật một khía cạnh khác nhau của kết quả phân đoạn
Trong lĩnh vực phân đoạn ảnh gan, và theo tài liệu đánh giá của T Heimann et al [23], sự đánh giá định lượng của phương pháp dựa vào năm loại sai số sau:
Volumetric Overlap Error (VOE), Relative Volume Difference (RVD), Average Symetric Surface Distance (ASD), Root Mean Square Symetric Surface Distance (RMSD) và Maximum Symetric Surface Distance (MSD)
Lỗi thể tích chồng lấn - Volumetric Overlap Error: sai lệch giữa hai tập voxel
A và B được tính theo tỷ lệ phần trăm theo công thức 100(1 − (|𝐴 ∩ 𝐵|/|𝐴 ∪ 𝐵|)) Tỷ lệ này bằng 0 với phân đoạn hoàn hảo và 100 nếu hai tập không có phần nào trùng nhau Đây là cách đo độ chính xác được dùng nhiều nhất
Khác biệt tương đối về thể tích - Relative Volume Difference : khác biệt tương đối về thể tích giữa hai tập voxel A và B được tính theo tỷ lệ phần trăm theo công thức 100((|𝐴| − |𝐵|)/|𝐵|) Tỷ lệ này bằng 0 nếu hai tập có thể tích giống nhau Nhưng có thể tích giống nhau không có nghĩa là hai tập bằng nhau, tỷ lệ có dấu này chỉ phản ánh kết quả là over-segment hay under-segment
Khoảng cách bề mặt đối xứng trung bình - Average Symmetric Surface Distance : được tính bằng milimet dựa trên các voxel bề mặt của hai tập A và B tượng được phân đoạn Với mỗi voxel bề mặt thuộc A, khoảng cách Euclide tới voxel bề mặt gần nhất thuộc B theo kỹ thuật xấp xỉ lân cận gần nhất [1] và lưu lại Để đảm bảo tính đối xứng, khoảng cách từ mỗi voxel bề mặt thuộc B tới voxel bề mặt gần nhất thuộc A cũng được tính và lưu lại Khoảng cách bề mặt đối xứng trung bình (ASD) là trung bình của các khoảng cách trên
) với S(A) là tập các voxel bề mặt của A, s A là một voxel bất kỳ trên S(A) và khoảng cách ngắn nhất từ voxel v đến S(A) là
Kết quả bằng 0 với phân đoạn hoàn hảo Khoảng cách bề mặt đối xứng trung bình cùng với khác biệt tương đối về thể tích là hai trong những cách đánh giá được dùng nhiều nhất
Bình phương trung bình khoảng cách bề mặt đối xứng - Root Mean Square Symmetric Surface Distance : giống như khoảng cách bề mặt đối xứng trung bình, chỉ khác khoảng cách giữa các bề mặt được bình phương trước khi lưu Sau đó căn bậc hai được lấy trên kết quả trung bình
Giá trị này có độ tương quan cao với khoảng cách trung bình nhưng phạt nặng hơn cho những nơi lệch nhiều khỏi bề mặt thực Heimann, 2009 [23] đánh giá đây là giá trị tốt nhất đánh giá độ chính xác của một phương pháp phân đoạn
Khoảng cách bề mặt đối xứng lớn nhất - Maximum Symmetric Surface Distance: là khoảng cách lớn nhất trong các khoảng cách được lưu lại trong phương pháp Khoảng cách bề mặt đối xứng trung bình
Phương pháp này đánh giá được sai biệt lớn nhất trong kết quả phân đoạn.
So sánh với phương pháp khác
4.1 So sánh với phương pháp phân đoạn 2D Để thể hiện khả năng làm trơn mượt trong 3D, tác giả đề tài có thử nghiện visualization ảnh 3D được xây dựng từ hai nguồn: một từ các ảnh được phân đoạn từng lát cắt riêng biệt, hai là từ phương pháp được đề xuất
Hình 18: Visualization của phương pháp phân đoạn trên không gian ba chiều so với phương pháp phân đoạn từng lát cắt riêng biệt
Hình 19: phân đoạn cho 5 khối gan khác nhau Chúng ta có thể thấy sự trơn mượt thể hiện rõ khi phân đoạn trong không gian ba chiều nhằm tận dụng mối liên hệ giữa các lát cắt với nhau
Bảng sau cho thấy các chỉ số được nêu ra ở trên
Số slice phân đoạn thủ công
Bảng 3: Các kết quả thử nghiệm
Dưới đây là một số hình ảnh mặt cắt của kết quả thử nghiệm, các hình được cắt lấy từ những trường hợp phân đoạn khó, dễ phân đoạn sai do hình dáng phức tạp của gan tại lát cắt đó, các đường cong màu đỏ là của phương pháp đề xuất, các đường màu xanh là đường ground truth
Hình 20: Phân đoạn cho gan bị phân tách thành những vùng khác nhau
Hình 21: Phân đoạn cho gan khỏe mạnh
Hình 22: Ảnh gan đã được enhanced
Hình 23: Phân đoạn cho gan có tổn thương
Nhận xét và đánh giá
Bảng 4 và 5 đưa ra kết quả đánh giá của các phương pháp khác có sử dụng cùng độ đo
Phương pháp đề xuất bởi
Mức độ tương tác VOE (%) RVD
Thời gian chạy (phút) Beichen et al [6] high 5.2 0.9 1.01.7 0.80.2 1.40.4 15.73.5 36 Beck and Aurich [5] high 6.61.6 1.82.5 1.00.3 1.90.4 18.54.1 7 Dawant et al [13] medium 7.21.2 2.52.3 1.10.2 1.90.5 17.15.4 20 Lee et al [29] low 6.91.4 1.32.9 1.10.3 2.10.5 21.34.0 7 Beichen et al [6] medium 6.51.1 1.11.9 1.10.4 2.51.2 23.410.5 31 Wimmer et al [58] medium 8.11.1 6.12.6 1.30.2 2.20.4 18.74.6 4-7 Slagmolen et al [50] medium 10.43.1 3.76.2 2.00.7 5.02.4 40.518.2 60 Beichen et al [6] low 14.39.4 3.110.7 3.63.1 7.95.9 49.220.4 30 Đề xuất bởi
Các thông số của phương pháp đề xuất là tương đối nhỏ so với các kết quả phân đoạn so với các phương pháp gần đây đặc biệt là khi so sánh hai giá trị quan trọng nhất là VOE và RMSD Điều này khẳng định tính khả thi của phương pháp và tính hiệu quả của mô hình đưa ra Kết quả RMSD là tương đương với các phương pháp có mức độ tương tác cao
Trong các trường hợp thử nghiệm, hình 20A, 20B tại phần biên tiếp giáp với xương sườn, xương không bị đưa vào mặc dù có gradient lớn hơn Hình 21A, 21B, phần phân đoạn có xu hướng mở rộng ra khiến một số chi tiết bị mất, điều này có thể điều chỉnh bằng cách cân chỉnh lại tỷ lệ giữa hai hệ số 𝜆 1 và 𝜆 2 Hình 22A và 22B cho kết quả khá tốt do không bị ảnh hưởng của các cơ quan khác, tuy nhiên có một phần đường biên bị mờ (hình 22B) khiến cho phân đoạn bị mở rộng ra ngoài Hình
Bảng 4: Kết quả của các phương pháp phân đoạn gan bán tự động trong cuộc thi “MICCAI 2007 Grand Challenge Workshop” [23]
Bảng 5: Một số kết quả của các phương pháp phân đoạn gan mới phát triển trong thời gian gần đây và trên cùng tập dữ liệu 3D-IRCADb
23A và 23B là gan bị khuyết, các chi tiết thể hiện khá tốt ngoại trừ vùng gan tiếp xúc với mạch máu (Hình 23B)