Skip to content

Thư viện MONAI cho Phân Tích Ảnh Não

Spread the love

Việc ứng dụng trí tuệ nhân tạo (AI) trong y tế, đặc biệt là trong hình ảnh y khoa, hứa hẹn sẽ cải thiện đáng kể việc phát hiện, chẩn đoán và điều trị các bệnh của con người. Tuy nhiên, việc chuyển đổi các mô hình AI từ các nguyên mẫu nghiên cứu sang các công cụ lâm sàng trong lịch sử đã bị cản trở bởi một hệ thống phần mềm phân mảnh và thiếu các thực hành tiêu chuẩn hóa. Để giải quyết những thách thức hệ thống này, Dự án MONAI (Medical Open Network for AI) đã được thành lập như một sáng kiến mã nguồn mở, hợp tác để tạo ra một nền tảng chung cho học sâu trong hình ảnh y tế. Báo cáo này cung cấp một phân tích toàn diện về framework MONAI, với trọng tâm cụ thể vào ứng dụng của nó trong lĩnh vực phân tích hình ảnh não phức tạp và đòi hỏi cao.

Nguồn gốc và Triết lý của Dự án MONAI: Thúc đẩy Hợp tác và Khả năng Tái tạo

Dự án MONAI ra đời từ một nỗ lực hợp tác giữa các nhà lãnh đạo học thuật và công nghiệp, bao gồm NVIDIA và King’s College London, nhằm thiết lập và tiêu chuẩn hóa các phương pháp tốt nhất cho học sâu trong hình ảnh y khoa. Sứ mệnh cốt lõi là hợp nhất các bác sĩ lâm sàng, nhà nghiên cứu và nhà khoa học dữ liệu trên một nền tảng mã nguồn mở chung, qua đó đẩy nhanh tốc độ đổi mới và đảm bảo sự phát triển của các mô hình AI mạnh mẽ, có thể tái tạo. Dự án được hình thành để vượt qua những rào cản đáng kể phát sinh từ việc thiếu các bản thiết kế mở và phương pháp luận chung, vốn tạo ra sự thiếu hiệu quả từ nghiên cứu và phát triển ban đầu cho đến đánh giá và triển khai lâm sàng cuối cùng.

Việc tạo ra MONAI không chỉ là một tiến bộ kỹ thuật đơn thuần; đó là một sự can thiệp chiến lược nhằm giải quyết “cuộc khủng hoảng về khả năng tái tạo” rộng lớn hơn trong nghiên cứu khoa học khi nó áp dụng vào lĩnh vực AI y tế. Sự nhấn mạnh nhất quán vào cộng đồng, các tiêu chuẩn mở và sự hợp tác phản ánh một nỗ lực có chủ ý nhằm thay đổi văn hóa phát triển AI y tế. Vấn đề mà MONAI được thiết kế để giải quyết không chỉ là thiếu công cụ, mà là “thiếu các phương pháp tốt nhất” và một “lĩnh vực phần mềm phân mảnh”, vốn là những vấn đề cơ bản của phương pháp luận và văn hóa nghiên cứu. Bằng cách cung cấp một hệ sinh thái tiêu chuẩn hóa, từ đầu đến cuối, MONAI giới thiệu một phương pháp luận có cấu trúc khuyến khích các phương pháp tốt nhất, giảm sự dư thừa mã và thúc đẩy một môi trường nghiên cứu minh bạch và hợp tác hơn. Nó cung cấp một “dây chuyền lắp ráp” tiêu chuẩn hóa cho nghiên cứu AI y tế, đưa lĩnh vực này từ việc tạo ra các mô hình thủ công, riêng lẻ sang một cách tiếp cận có kỷ luật hơn, dựa trên kỹ thuật.

Được xây dựng trên PyTorch, MONAI tận dụng sự linh hoạt và sự chấp nhận rộng rãi của một thư viện học sâu hàng đầu trong khi giới thiệu các khả năng được tối ưu hóa cho lĩnh vực hình ảnh y tế. Lựa chọn thiết kế này đảm bảo rằng các nhà nghiên cứu quen thuộc với hệ sinh thái PyTorch có thể áp dụng MONAI với một đường cong học tập tối thiểu, đồng thời được hưởng lợi từ các tính năng chuyên biệt của nó.

Tổng quan Kiến trúc: Một Giải pháp Toàn diện từ Chú thích đến Triển khai

MONAI được kiến trúc như một hệ sinh thái toàn diện cung cấp một bộ thư viện, công cụ và bộ công cụ phát triển phần mềm (SDK) đầy đủ để hỗ trợ mọi giai đoạn của vòng đời phát triển AI y tế. Framework được cấu trúc để hướng dẫn một dự án từ việc chú thích dữ liệu ban đầu, qua phát triển và đánh giá mô hình, và cuối cùng là triển khai lâm sàng. Thiết kế từ đầu đến cuối này nhằm mục đích thu hẹp khoảng cách dai dẳng giữa nghiên cứu AI học thuật và ứng dụng thực tế của nó trong môi trường lâm sàng. Nó đạt được điều này bằng cách tạo ra một loạt các bước trung gian được xác định rõ ràng, nơi các nhà nghiên cứu và bác sĩ lâm sàng có thể hợp tác xây dựng niềm tin vào các mô hình AI và các kỹ thuật cơ bản của chúng trước khi chúng được tích hợp vào các môi trường lâm sàng có tính rủi ro cao.

Kiến trúc đa giai đoạn, rõ ràng này không chỉ đơn thuần là vấn đề về tính mô-đun của phần mềm; đó là một thiết kế phản ánh con đường chuyển giao lâm sàng và được thiết kế để xây dựng lòng tin giữa các bác sĩ lâm sàng, những người thường có lý do để thận trọng với các hệ thống AI “hộp đen” không rõ ràng. Việc tách biệt rõ ràng quy trình làm việc thành các giai đoạn riêng biệt để dán nhãn, huấn luyện và triển khai cho phép xác nhận lặp đi lặp lại và sự tham gia của các bên liên quan ở mỗi thời điểm quan trọng. Các bác sĩ lâm sàng có thể tham gia trực tiếp vào quá trình chú thích có sự hỗ trợ của AI thông qua MONAI Label, làm cho quá trình học của mô hình trở nên minh bạch và có sự tham gia hơn. Cấu trúc này tạo điều kiện cho một loạt các câu hỏi xác nhận quan trọng: Dữ liệu có được dán nhãn chính xác và hiệu quả không (Label)? Mô hình có học để thực hiện nhiệm vụ được chỉ định một cách chính xác trên dữ liệu này không (Core)? Mô hình đã được xác thực có thể được tích hợp một cách an toàn và hiệu quả vào các hệ thống thông tin lâm sàng hiện có của chúng tôi không (Deploy)? Cách tiếp cận theo từng giai đoạn này làm sáng tỏ quy trình phát triển AI, làm cho nó trở nên minh bạch, có thể kiểm toán và cuối cùng là đáng tin cậy hơn đối với các bên liên quan trong lĩnh vực lâm sàng, những người là người dùng cuối dự kiến của các công nghệ này.

Phân tích Bốn Trụ cột: MONAI Core, Label, Deploy, và Model Zoo

Hệ sinh thái MONAI được xây dựng trên bốn dự án nền tảng, mỗi dự án giải quyết một giai đoạn quan trọng của vòng đời AI.

  • MONAI Core: Đây là thư viện hàng đầu của dự án, cung cấp các khả năng nền tảng, được tối ưu hóa theo lĩnh vực để phát triển và huấn luyện các mô hình học sâu. Là một framework dựa trên PyTorch, nó cung cấp một bộ công cụ phong phú được thiết kế đặc biệt cho hình ảnh y khoa, bao gồm các bộ tải dữ liệu chuyên dụng, các phép biến đổi hình ảnh y tế cụ thể, các kiến trúc mạng hiện đại, và các hàm mất mát và chỉ số đánh giá liên quan. Các tính năng nâng cao hiệu suất như bộ nhớ đệm thông minh, I/O tăng tốc bằng GPU và các khả năng học máy tự động (AutoML) được bao gồm để giảm thời gian huấn luyện từ vài ngày xuống còn vài giờ.
  • MONAI Label: Thành phần này là một công cụ dán nhãn hình ảnh thông minh, có sự hỗ trợ của AI, được thiết kế để giảm đáng kể thời gian và công sức cần thiết cho việc chú thích dữ liệu—thường là nút thắt cổ chai tốn nhiều thời gian nhất trong các dự án AI y tế. MONAI Label tích hợp liền mạch với các trình xem hình ảnh y tế phổ biến như 3D Slicer, OHIF (cho X-quang) và QuPath (cho bệnh học). Nó sử dụng một mô hình học tích cực; khi người dùng tương tác với phần mềm để chú thích hình ảnh, mô hình AI cơ bản liên tục học và cập nhật, cải thiện các đề xuất của nó theo thời gian. Cách tiếp cận “con người trong vòng lặp” này không chỉ đẩy nhanh việc chú thích mà còn giúp xây dựng các bộ dữ liệu tốt hơn, chính xác hơn.
  • MONAI Deploy App SDK: SDK này cung cấp framework và các công cụ cần thiết để đóng gói, kiểm tra và chạy các ứng dụng AI y tế trong môi trường sản xuất lâm sàng. Nó nhằm mục đích trở thành tiêu chuẩn thực tế để triển khai AI y tế, tạo điều kiện tích hợp với các hệ thống CNTT y tế hiện có như PACS (Hệ thống Lưu trữ và Truyền thông Hình ảnh) và các cổng thông tin tuân thủ DICOM. MONAI Deploy cung cấp một quy trình làm việc lặp đi lặp lại cho phép các nhà nghiên cứu và bác sĩ xác thực cơ sở hạ tầng suy luận AI trước khi nó được sử dụng trong môi trường lâm sàng trực tiếp, đảm bảo cả sự mạnh mẽ về mặt kỹ thuật và tuân thủ quy định.
  • MONAI Model Zoo: Model Zoo là một kho lưu trữ do cộng đồng đóng góp để chia sẻ các mô hình hình ảnh y tế hiện đại, đã được huấn luyện trước. Tất cả các mô hình được đóng gói theo định dạng MONAI Bundle tiêu chuẩn, bao gồm trọng số mô hình, tệp cấu hình và các kịch bản xử lý hậu kỳ, đảm bảo dễ sử dụng và khả năng tái tạo. Nguồn tài nguyên này cho phép các nhà nghiên cứu nhanh chóng bắt đầu với các mô hình đã được chứng minh, sử dụng chúng để học chuyển giao trên bộ dữ liệu của riêng họ, hoặc so sánh các kiến trúc mới của họ với các mô hình cơ sở đã được thiết lập, qua đó đẩy nhanh quá trình nghiên cứu và phát triển.

MONAI Core cho Hình ảnh Thần kinh

MONAI Core là động cơ của hệ sinh thái, cung cấp các công cụ chuyên biệt cần thiết để giải quyết những thách thức độc đáo của phân tích hình ảnh thần kinh. Triết lý thiết kế của nó dựa trên sự hiểu biết sâu sắc về vật lý và sinh học cơ bản của hình ảnh y tế, phân biệt nó với các framework AI đa dụng thường coi dữ liệu như vậy là các mảng đa chiều thông thường. Cách tiếp cận chuyên biệt theo lĩnh vực này thể hiện rõ trong mọi thành phần, từ xử lý dữ liệu đến đánh giá mô hình.

Xử lý Dữ liệu Thông minh: Làm chủ Dữ liệu Não Đa phương thức và Dạng khối (MRI, CT)

Dữ liệu hình ảnh thần kinh, đặc biệt là từ MRI, có đặc điểm là chiều không gian cao (3D hoặc 4D), tính chất đa phương thức và siêu dữ liệu liên quan phong phú. MONAI Core được kiến trúc từ đầu để quản lý sự phức tạp này.

  • Hỗ trợ Định dạng Y tế Gốc: Framework hiểu được các định dạng hình ảnh y tế phổ biến như NIfTI và DICOM một cách tự nhiên. Điều này rất quan trọng đối với hình ảnh não, nơi thông tin không gian như hướng hình ảnh (ví dụ: RAS+) là cơ bản để giải thích giải phẫu chính xác và phải được bảo toàn trong suốt quá trình xử lý.
  • Quy trình Dựa trên Từ điển Nhận biết Siêu dữ liệu: Một tính năng kiến trúc quan trọng của MONAI là xử lý dữ liệu dựa trên từ điển. Thay vì truyền các tensor thô qua quy trình xử lý, MONAI duy trì một từ điển cho mỗi mẫu dữ liệu. Từ điển này không chỉ chứa các tensor hình ảnh và nhãn mà còn cả các siêu dữ liệu quan trọng như ma trận biến đổi affine, khoảng cách voxel và hướng bệnh nhân. Điều này đảm bảo rằng tất cả các hoạt động đều nhận biết được ngữ cảnh và thông tin quan trọng không bị mất, một cạm bẫy phổ biến trong các quy trình được xây dựng bằng các công cụ đa dụng.

Triết lý thiết kế này ưu tiên tính hợp lệ lâm sàng và khả năng tái tạo. Mặc dù so sánh từng chức năng có thể cho thấy một thư viện cấp thấp như SimpleITK có thể tải tệp NIfTI nhanh hơn so với phép biến đổi LoadImage của MONAI, nhưng sự so sánh này đã bỏ qua bối cảnh rộng hơn. Bộ tải của MONAI là một thành phần tích hợp của một quy trình nhận biết siêu dữ liệu được thiết kế để có thể tái tạo từ đầu đến cuối. Nó được thiết kế để đảm bảo rằng không gian vật lý và hướng của hình ảnh được xử lý chính xác trong suốt một chuỗi các phép biến đổi phức tạp. Sự mạnh mẽ và an toàn vốn có này, vốn không thể thiếu đối với các ứng dụng lâm sàng, được ưu tiên hơn tốc độ thô của một hoạt động I/O riêng lẻ.

Quy trình Biến đổi: Tiền xử lý và Tăng cường Dữ liệu Chuyên biệt cho Hình ảnh Thần kinh

Mô-đun monai.transforms là một nền tảng của MONAI Core, cung cấp một thư viện toàn diện các hoạt động để tiền xử lý và tăng cường dữ liệu. Các phép biến đổi này được thiết kế để có thể kết hợp, cho phép các nhà nghiên cứu xây dựng các quy trình linh hoạt và mạnh mẽ.

  • Các phép biến đổi dựa trên từ điển: Hầu hết các phép biến đổi đều có sẵn trong phiên bản nhận biết từ điển, được ký hiệu bằng hậu tố “d” (ví dụ: LoadImaged, RandFlipd). Khi được áp dụng cho một từ điển dữ liệu, các phép biến đổi này có thể hoạt động trên các khóa được chỉ định. Điều này cho phép các chức năng quan trọng như tăng cường không gian đồng bộ, trong đó một phép quay hoặc cắt ngẫu nhiên được áp dụng cho một bản quét MRI đầu vào cũng được áp dụng giống hệt cho bản đồ nhãn phân đoạn tương ứng của nó, bảo toàn sự thẳng hàng không gian của chúng.
  • Tăng cường dữ liệu phù hợp với y tế: Không giống như trong thị giác máy tính nói chung, nơi các phép tăng cường có thể là tùy ý, các phép biến đổi được áp dụng cho hình ảnh y tế phải hợp lý về mặt vật lý. Các phép biến đổi tăng cường của MONAI tôn trọng những ràng buộc này. Ví dụ, chúng thực hiện biến dạng không gian thực tế để mô phỏng sự biến đổi giải phẫu thay vì áp dụng các thay đổi màu sắc hoặc các phép quay không thực tế vi phạm vật lý cơ bản của việc thu nhận MRI.
  • Lấy mẫu dựa trên Patch: Do các khối não 3D thường quá lớn để vừa vào bộ nhớ GPU, một chiến lược phổ biến là huấn luyện các mô hình trên các patch 3D nhỏ hơn. MONAI cung cấp các phép biến đổi lấy mẫu dựa trên patch tiên tiến như RandCropByPosNegLabeld, có thể trích xuất các patch một cách thông minh để giải quyết các thách thức như mất cân bằng lớp nghiêm trọng—ví dụ, bằng cách đảm bảo rằng một số lượng đủ các patch chứa các mẫu của một tổn thương não nhỏ hoặc khối u.

Bảng sau đây tóm tắt một số phép biến đổi MONAI thiết yếu nhất cho một quy trình tiền xử lý MRI não điển hình, minh họa cách chúng tạo thành một chuỗi logic từ việc tải dữ liệu đến chuẩn bị cho việc huấn luyện mô hình.

Tên Biến đổiLoạiChức năng
LoadImagedI/OTải các tệp NIfTI/DICOM và siêu dữ liệu liên quan từ các đường dẫn được chỉ định trong từ điển đầu vào.
EnsureChannelFirstdĐịnh dạng Dữ liệuĐảm bảo rằng tensor hình ảnh có chiều kênh là trục đầu tiên, một quy ước tiêu chuẩn cho các mô hình học sâu.
OrientationdKhông gianĐịnh hướng lại các khối hình ảnh và nhãn về một hướng giải phẫu tiêu chuẩn, chẳng hạn như RAS (Phải-Trước-Trên).
SpacingdKhông gianLấy mẫu lại các khối về một khoảng cách voxel đồng nhất, đẳng hướng, đảm bảo tính nhất quán giữa các bản quét từ các máy quét khác nhau.
CropForegrounddCắt/Lấy mẫuCắt hình ảnh bằng cách loại bỏ các voxel nền (ví dụ: không khí xung quanh đầu), giảm tải tính toán.
ScaleIntensityRangedCường độĐiều chỉnh giá trị cường độ voxel về một phạm vi được chỉ định, chẳng hạn như hoặc [-1, 1], để ổn định mô hình.
RandCropByPosNegLabeldCắt/Lấy mẫuTrong quá trình huấn luyện, cắt ngẫu nhiên các patch có kích thước cố định, đảm bảo một tỷ lệ được chỉ định của các patch chứa nhãn tiền cảnh so với nền.
RandFlipdTăng cườngLật ngẫu nhiên hình ảnh và nhãn dọc theo các trục được chỉ định để tăng sự đa dạng của bộ dữ liệu và sự mạnh mẽ của mô hình.

Kiến trúc Sâu sắc: Đánh giá các Mạng dựng sẵn cho Phân tích Não (UNETR, Swin UNETR, SegResNet)

MONAI cung cấp một bộ sưu tập phong phú các kiến trúc mạng nơ-ron được xây dựng sẵn trong monai.networks.nets, nhiều trong số đó là những kiến trúc tiên tiến nhất cho phân tích hình ảnh y tế 3D. Điều này cho phép các nhà nghiên cứu nhanh chóng triển khai các mô hình mạnh mẽ mà không cần phải tự mình thực hiện. Đối với phân tích hình ảnh não, một số kiến trúc đặc biệt phù hợp:

  • SegResNet: Một mạng phân đoạn 3D dựa trên cấu trúc bộ mã hóa-giải mã dư. Đây là một kiến trúc mạnh mẽ và hiệu quả, đóng vai trò là một mô hình cơ sở vững chắc cho nhiều nhiệm vụ phân đoạn.
  • UNETR: Kiến trúc UNETR (UNet TRansformer) kết hợp một Vision Transformer (ViT) làm bộ mã hóa với một bộ giải mã giống U-Net truyền thống. Bộ mã hóa transformer rất giỏi trong việc học thông tin ngữ cảnh toàn cục từ khối 3D đầu vào, điều này đã được chứng minh là rất hiệu quả cho các nhiệm vụ như phân đoạn khối u não.
  • Swin UNETR: Mô hình này xây dựng dựa trên khái niệm UNETR bằng cách sử dụng một Swin Transformer làm bộ mã hóa. Cấu trúc phân cấp và cơ chế chú ý cửa sổ dịch chuyển của Swin Transformer mang lại hiệu quả tính toán và sức mạnh mô hình hóa lớn hơn, và nó đã đạt được hiệu suất hàng đầu trong các bài kiểm tra đòi hỏi cao như thử thách BraTS.

Tối ưu hóa Độ chính xác: Các Hàm mất mát và Chỉ số Đánh giá Chuyên biệt cho Y tế

Việc huấn luyện và đánh giá mô hình hiệu quả trong hình ảnh y tế đòi hỏi các hàm và chỉ số được thiết kế riêng cho những thách thức cụ thể của lĩnh vực này.

  • Hàm mất mát: Các hàm mất mát tiêu chuẩn như cross-entropy có thể hoạt động kém trong các nhiệm vụ phân đoạn với sự mất cân bằng lớp nghiêm trọng (ví dụ: một khối u nhỏ trong một khối não lớn). MONAI cung cấp một số hàm mất mát chuyên biệt cho lĩnh vực này để giải quyết vấn đề này, bao gồm:
    • DiceLoss: Tối ưu hóa trực tiếp hệ số tương đồng Dice, một chỉ số phân đoạn dựa trên sự chồng chéo phổ biến.
    • GeneralizedDiceLoss: Một phần mở rộng của Dice loss, trọng số hóa sự đóng góp từ các lớp khác nhau để xử lý sự mất cân bằng đa lớp.
    • TverskyLoss: Một sự tổng quát hóa của Dice loss cho phép kiểm soát rõ ràng sự đánh đổi giữa dương tính giả và âm tính giả.
    • DiceCELoss: Một hàm mất mát kết hợp các lợi ích của Dice loss và Cross-Entropy loss để huấn luyện ổn định và hiệu suất tốt.
  • Chỉ số Đánh giá: MONAI cung cấp một bộ chỉ số đánh giá toàn diện, cung cấp một đánh giá chi tiết hơn về hiệu suất mô hình so với độ chính xác đơn giản. Đối với phân đoạn, chúng bao gồm hệ số Dice trung bình để đo lường sự chồng chéo, cũng như các chỉ số dựa trên ranh giới như Khoảng cách Hausdorff và Khoảng cách Bề mặt Trung bình, rất quan trọng để đánh giá sự chấp nhận lâm sàng của một đường viền phân đoạn.

Đạt được Hiệu suất Cao: Tăng tốc GPU, Suy luận Cửa sổ trượt và Huấn luyện Phân tán

MONAI được thiết kế không chỉ cho độ chính xác mà còn cho hiệu suất tính toán và khả năng mở rộng, với một số tính năng được thiết kế để xử lý các yêu cầu của dữ liệu hình ảnh thần kinh 3D quy mô lớn.

  • Suy luận Cửa sổ trượt: Để thực hiện suy luận trên một khối não 3D đầy đủ quá lớn để vừa vào bộ nhớ GPU, MONAI cung cấp SlidingWindowInferer. Tiện ích này chia khối một cách thông minh thành các patch chồng chéo, chạy suy luận trên mỗi patch, và sau đó tổng hợp kết quả, thường sử dụng phương pháp trộn Gaussian ở các ranh giới patch để tạo ra một dự đoán cuối cùng mượt mà và liền mạch. Tính năng này là một giải pháp trực tiếp và mạnh mẽ cho một trong những rào cản thực tế phổ biến nhất trong học sâu 3D.
  • Tối ưu hóa GPU và C++/CUDA: Framework được tối ưu hóa để tăng tốc trên GPU NVIDIA và bao gồm các phần mở rộng C++/CUDA cho các hoạt động quan trọng về hiệu suất như lấy mẫu lại hình ảnh, đảm bảo rằng các quy trình tiền xử lý dữ liệu có thể theo kịp yêu cầu của GPU trong quá trình huấn luyện.
  • Huấn luyện Phân tán: Các API của MONAI được thiết kế để tương thích với các framework huấn luyện phân tán tiêu chuẩn, bao gồm DistributedDataParallel gốc của PyTorch, Horovod và SLURM. Điều này cho phép các nhà nghiên cứu mở rộng các công việc huấn luyện của họ một cách hiệu quả trên nhiều GPU hoặc thậm chí nhiều nút tính toán, giảm đáng kể thời gian cần thiết để huấn luyện các mô hình trên các bộ dữ liệu hình ảnh thần kinh lớn.

Những tính năng này cho thấy MONAI được thiết kế chủ động để vượt qua những điểm thất bại phổ biến nhất trong phát triển AI y tế. SlidingWindowInferer giải quyết vấn đề bộ nhớ GPU; các hàm mất mát chuyên biệt như DiceLoss giải quyết vấn đề mất cân bằng lớp; và các bộ lấy mẫu dựa trên patch giải quyết vấn đề khối lượng dữ liệu lớn. Bằng cách cung cấp các giải pháp mạnh mẽ, chuyên biệt theo lĩnh vực này như là con đường mặc định và được khuyến nghị, MONAI hoạt động như một framework “có quan điểm” hướng dẫn các nhà nghiên cứu tránh xa các cạm bẫy phổ biến và hướng tới các phương pháp tốt nhất.

Cấu hình Môi trường và Cài đặt

Thiết lập một môi trường tính toán mạnh mẽ và có thể tái tạo là một bước đầu tiên quan trọng cho bất kỳ nỗ lực nghiên cứu nghiêm túc nào. MONAI cung cấp một số con đường cài đặt, phục vụ cho một loạt người dùng từ người mới bắt đầu cần một thiết lập đơn giản đến các nhà phát triển nâng cao cần truy cập vào các tính năng mới nhất hoặc các môi trường cấp doanh nghiệp. Sự linh hoạt này phản ánh một sự hiểu biết chín chắn về các nhu cầu đa dạng trong cộng đồng phát triển khoa học và lâm sàng.

Yêu cầu Hệ thống: Yêu cầu Phần cứng và Phần mềm để có Hiệu suất Tối ưu

Để tận dụng hiệu quả MONAI cho phân tích hình ảnh não, đặc biệt là để huấn luyện các mô hình học sâu 3D, cần phải đáp ứng một số yêu cầu về phần cứng và phần mềm.

  • Yêu cầu Phần cứng:
    • GPU: Mặc dù MONAI về mặt kỹ thuật có thể chạy trên CPU, hiệu suất cho việc huấn luyện và ngay cả các tác vụ suy luận phức tạp sẽ rất chậm. Một GPU NVIDIA có khả năng CUDA được khuyến nghị mạnh mẽ. Để có hiệu suất tối ưu với các mô hình 3D đòi hỏi cao, các GPU cao cấp như NVIDIA V100 hoặc A100 đã được xác nhận, nhưng các GPU hiện đại khác cũng được hỗ trợ.
    • Bộ nhớ GPU: Tối thiểu 16 GB RAM GPU được khuyến nghị, với tối đa 48 GB hoặc hơn sẽ có lợi tùy thuộc vào kiến trúc mô hình và kích thước patch đầu vào.
    • Bộ nhớ Hệ thống (RAM): Ít nhất 32 GB RAM hệ thống được khuyên dùng, đặc biệt khi sử dụng các tính năng như CacheDataset để lưu trữ dữ liệu đã tiền xử lý trong bộ nhớ.
    • Lưu trữ: Tối thiểu 100 GB dung lượng lưu trữ nhanh, chẳng hạn như SSD, được khuyến nghị để chứa các bộ dữ liệu hình ảnh thần kinh lớn và môi trường phần mềm đã cài đặt.
  • Phụ thuộc Phần mềm:
    • Hệ điều hành: MONAI tương thích với Linux, Windows và macOS.
    • Python: MONAI yêu cầu một phiên bản Python hiện đang được hỗ trợ. Ví dụ, các hướng dẫn thường chỉ định Python 3.9 để đảm bảo khả năng tương thích với tất cả các phụ thuộc.
    • PyTorch: Vì MONAI được xây dựng trên PyTorch, một phiên bản tương thích là một yêu cầu cốt lõi. MONAI thường hỗ trợ phiên bản ổn định mới nhất của PyTorch cộng với ba phiên bản phụ trước đó.
    • Ngăn xếp Phần mềm NVIDIA (để sử dụng GPU): Để kích hoạt tăng tốc GPU, hệ thống máy chủ phải có trình điều khiển GPU NVIDIA phù hợp, NVIDIA Container Toolkit và, nếu sử dụng container, Docker Engine.
    • Các Thư viện Python Cốt lõi: MONAI có một sự phụ thuộc trực tiếp vào NumPy. Nhiều thư viện khác được yêu cầu cho các chức năng cụ thể và thường được cài đặt dưới dạng các phụ thuộc tùy chọn (ví dụ: nibabel để đọc tệp NIfTI, pydicom để đọc tệp DICOM, matplotlib để trực quan hóa).

Các Lộ trình Cài đặt: Hướng dẫn Chi tiết Cài đặt qua Pip, Conda và Docker

Các tùy chọn cài đặt đa dạng của MONAI phục vụ cho các nhu cầu khác nhau của người dùng, từ tạo mẫu nhanh đến triển khai cấp doanh nghiệp, hoàn toàn có thể tái tạo.

Cài đặt Pip Tiêu chuẩn

Phương pháp này là cách nhanh nhất để bắt đầu và phù hợp với những người dùng muốn tích hợp MONAI vào một môi trường Python hiện có. Nó nhắm đến các nhà nghiên cứu và nhà phát triển cần một thiết lập nhanh chóng, đơn giản.

  1. Cài đặt MONAI Core: Mở một terminal và chạy lệnh cài đặt cơ bản:
    Bash
    pip install monai
  2. Cài đặt với các Gói bổ sung: Đối với hầu hết các tác vụ hình ảnh não, cần có các phụ thuộc bổ sung cho I/O và trực quan hóa. Chúng có thể được cài đặt dưới dạng “extras”:
    Bash
    pip install "monai[nibabel, tqdm, matplotlib]"

Môi trường Conda (Khuyến nghị để có thể Tái tạo)

Đây là phương pháp được khuyến nghị cho hầu hết các môi trường nghiên cứu, vì nó tạo ra một môi trường biệt lập nơi tất cả các phụ thuộc và các phiên bản cụ thể của chúng được quản lý. Điều này rất quan trọng để đảm bảo khả năng tái tạo của kết quả nghiên cứu. Con đường này nhắm đến cộng đồng học thuật và nghiên cứu, nơi tính nhất quán của môi trường là tối quan trọng để xác thực và chia sẻ công việc.

  1. Cài đặt Anaconda/Miniconda: Nếu chưa được cài đặt, hãy tải xuống và cài đặt Anaconda Distribution hoặc Miniconda nhẹ.
  2. Tạo một Môi trường Conda: Tạo một môi trường mới, chuyên dụng cho dự án của bạn. Việc chỉ định phiên bản Python là một thực hành tốt:Bashconda create --name monai_env python=3.9
  3. Kích hoạt Môi trường: Trước khi cài đặt các gói, hãy kích hoạt môi trường vừa tạo:Bashconda activate monai_env
  4. Cài đặt PyTorch: Cài đặt một phiên bản PyTorch có hỗ trợ CUDA, theo hướng dẫn trên trang web chính thức của PyTorch. Điều này đảm bảo rằng phiên bản chính xác cho bộ công cụ CUDA của hệ thống của bạn được cài đặt.
  5. Cài đặt MONAI: Với môi trường đã được kích hoạt, hãy cài đặt MONAI bằng pip:Bashpip install "monai[all]" Việc cài đặt gói bổ sung [all] cung cấp một bộ phụ thuộc tùy chọn toàn diện cho một loạt các tác vụ.

Chế độ Nhà phát triển (từ GitHub)

Phương pháp này dành cho người dùng nâng cao, những người đóng góp cho dự án MONAI, hoặc các nhà nghiên cứu cần truy cập vào các tính năng mới nhất, chưa được phát hành trên nhánh phát triển.

  1. Sao chép Kho lưu trữ: Sao chép kho lưu trữ GitHub chính thức của MONAI về máy cục bộ của bạn:
    Bash
    git clone https://github.com/Project-MONAI/MONAI.git
  2. Cài đặt các Phụ thuộc: Điều hướng vào thư mục đã sao chép và cài đặt các phụ thuộc cần thiết từ tệp requirements.txt:
    Bash
    cd MONAI pip install -r requirements.txt

Container Docker NVIDIA NGC (cho các Môi trường được Cấu hình sẵn)

Đối với những người dùng ưu tiên sự ổn định, dễ triển khai và khả năng tái tạo được đảm bảo trên các hệ thống khác nhau, việc sử dụng Container NVIDIA MONAI Toolkit chính thức là giải pháp lý tưởng. Phương pháp này hướng đến các môi trường doanh nghiệp hoặc các dự án hợp tác nơi việc loại bỏ các vấn đề liên quan đến cấu hình (“nó hoạt động trên máy của tôi”) là rất quan trọng.

  1. Điều kiện tiên quyết: Đảm bảo Docker Engine, trình điều khiển GPU NVIDIA và NVIDIA Container Toolkit được cài đặt trên hệ thống máy chủ.
  2. Tải Container: Tải container MONAI mới nhất từ danh mục NVIDIA NGC.
  3. Chạy Container: Khởi chạy container, đảm bảo rằng cờ --gpus all được sử dụng để cung cấp quyền truy cập vào các GPU của hệ thống. Điều này sẽ bắt đầu một phiên tương tác trong một môi trường được cấu hình đầy đủ chứa MONAI, PyTorch, CUDA và tất cả các phụ thuộc cần thiết, sẵn sàng để sử dụng ngay lập tức.

Kiểm tra và Bắt đầu

Sau khi hoàn thành bất kỳ con đường cài đặt nào, điều quan trọng là phải xác minh rằng môi trường đã được cấu hình chính xác.

  1. Kích hoạt Môi trường: Nếu sử dụng Conda, hãy đảm bảo môi trường đã được kích hoạt.
  2. Chạy Kịch bản Kiểm tra: Thực thi một kịch bản Python đơn giản để kiểm tra việc cài đặt MONAI và, quan trọng là, để xác nhận rằng PyTorch có thể phát hiện GPU:
import torch
import monai

print(f"MONAI version: {monai.__version__}")
if torch.cuda.is_available():
    print(f"CUDA is available. Using GPU: {torch.cuda.get_device_name(0)}")
else:
    print("CUDA is not available. Running on CPU.")
  1. Một lần chạy thành công sẽ in ra phiên bản MONAI và xác nhận sự sẵn có của GPU.

Với một môi trường đã được xác minh, cách tốt nhất để bắt đầu là khám phá bộ sưu tập hướng dẫn phong phú có sẵn trên kho lưu trữ GitHub của Dự án MONAI. Các hướng dẫn này, nhiều trong số đó có thể chạy trực tiếp trên Google Colab, cung cấp các ví dụ thực tế, thực hành về các quy trình làm việc phổ biến và là một nguồn tài nguyên vô giá cho người dùng mới.

Ứng dụng Nền tảng: Phân đoạn Khối u Não 3D với Bộ dữ liệu BraTS

Một trong những ứng dụng quan trọng và được nghiên cứu kỹ lưỡng nhất của học sâu trong ung thư thần kinh là phân đoạn tự động các khối u não từ các bản quét MRI đa phương thức. Nhiệm vụ này là nền tảng cho việc lập kế hoạch điều trị, đánh giá phản ứng và hướng dẫn phẫu thuật. Phần này cung cấp một hướng dẫn toàn diện, từng bước về cách xây dựng một quy trình phân đoạn khối u não 3D hiện đại bằng cách sử dụng MONAI và bộ dữ liệu thử thách BraTS (Brain Tumor Segmentation) được công nhận quốc tế. Quy trình làm việc này đóng vai trò là một ví dụ kinh điển về khả năng của MONAI, chứng minh cách framework này trừu tượng hóa sự phức tạp của lĩnh vực cụ thể và cho phép các nhà nghiên cứu xây dựng các quy trình mạnh mẽ với mã ngắn gọn, dễ đọc.

Hiểu về Thử thách BraTS: Các Phương thức Dữ liệu và Mục tiêu Phân đoạn

Bộ dữ liệu BraTS là tiêu chuẩn thực tế để đánh giá các thuật toán phân đoạn khối u não. Hiểu cấu trúc của nó là bước đầu tiên để xây dựng một mô hình thành công.

  • Các Phương thức Dữ liệu: Mỗi trường hợp bệnh nhân trong bộ dữ liệu bao gồm bốn khối MRI 3D được đồng đăng ký, mỗi khối làm nổi bật các khía cạnh khác nhau của mô não và bệnh lý khối u:
    • T1-weighted (T1): Cung cấp độ tương phản tốt giữa chất xám và chất trắng.
    • T1-weighted post-contrast (T1Gd): Một chất cản quang (Gadolinium) được tiêm vào, thường làm tăng cường các khu vực tăng trưởng khối u tích cực bằng cách làm nổi bật các vùng có hàng rào máu não bị phá vỡ.
    • T2-weighted (T2): Nhạy cảm với phù nề (sưng), làm cho khối u và dịch xung quanh xuất hiện sáng.
    • T2 Fluid Attenuated Inversion Recovery (FLAIR): Tương tự như T2 nhưng tín hiệu từ dịch não tủy bị triệt tiêu, làm cho phù nề trở nên rõ ràng hơn.
  • Mục tiêu Phân đoạn: Các nhãn thực tế được cung cấp dưới dạng một khối 3D duy nhất, trong đó các giá trị số nguyên khác nhau tương ứng với các vùng phụ khác nhau của khối u. Mục tiêu là phân đoạn ba nhãn lồng nhau, có liên quan lâm sàng:
    • Khối u tăng cường (ET): Lõi hoạt động của khối u, thường sáng trên các bản quét T1Gd.
    • Lõi khối u (TC): Bao gồm khối u tăng cường cũng như các phần hoại tử (chết) và không tăng cường của khối u.
    • Toàn bộ khối u (WT): Toàn bộ phạm vi của khối u, bao gồm lõi khối u và phù nề quanh khối u.

Quy trình Từng bước: Từ Tải Dữ liệu đến Tiền xử lý với các Biến đổi MONAI

Một quy trình tiền xử lý mạnh mẽ là điều cần thiết để chuẩn hóa dữ liệu và chuẩn bị cho mạng nơ-ron. API biến đổi có thể kết hợp của MONAI giúp việc xây dựng quy trình này trở nên đơn giản.

  1. Tải Dữ liệu: Bước đầu tiên là thu thập dữ liệu và cấu trúc nó cho MONAI. Bộ dữ liệu BraTS là một phần của thử thách Medical Segmentation Decathlon (Nhiệm vụ 01). Lớp DecathlonDataset của MONAI có thể được sử dụng để tự động tải xuống, giải nén và phân tích cú pháp bộ dữ liệu thành một danh sách các từ điển. Mỗi từ điển đại diện cho một trường hợp bệnh nhân và chứa các khóa như "image""label" trỏ đến các đường dẫn tệp tương ứng.
  2. Định nghĩa Quy trình Tiền xử lý: Một chuỗi các phép biến đổi MONAI được định nghĩa để tạo ra một quy trình tiền xử lý và tăng cường dữ liệu. Đối với nhiệm vụ BraTS, một quy trình huấn luyện điển hình sẽ như sau:
from monai.transforms import (
    Compose, LoadImaged, EnsureChannelFirstd, Orientationd, Spacingd,
    CropForegroundd, NormalizeIntensityd, RandCropByPosNegLabeld,
    RandFlipd, ConvertToMultiChannelBasedOnBratsClassesd
)

train_transforms = Compose([
    LoadImaged(keys=["image", "label"]),
    EnsureChannelFirstd(keys="image"),
    ConvertToMultiChannelBasedOnBratsClassesd(keys="label"),
    Orientationd(keys=["image", "label"], axcodes="RAS"),
    Spacingd(
        keys=["image", "label"],
        pixdim=(1.0, 1.0, 1.0),
        mode=("bilinear", "nearest"),
    ),
    CropForegroundd(keys=["image", "label"], source_key="image"),
    NormalizeIntensityd(keys="image", nonzero=True, channel_wise=True),
    RandCropByPosNegLabeld(
        keys=["image", "label"],
        label_key="label",
        spatial_size=(128, 128, 128),
        pos=1,
        neg=1,
        num_samples=4,
        image_key="image",
        image_threshold=0,
    ),
    RandFlipd(keys=["image", "label"], prob=0.5, spatial_axis=0),
    RandFlipd(keys=["image", "label"], prob=0.5, spatial_axis=1),
    RandFlipd(keys=["image", "label"], prob=0.5, spatial_axis=2),
])
  1. Tạo Dataset và DataLoader: Một CacheDataset có thể được sử dụng để bao bọc dữ liệu huấn luyện và các phép biến đổi. Dataset này lưu trữ kết quả của các phép biến đổi xác định ban đầu (như tải và điều chỉnh khoảng cách) trong bộ nhớ, giúp tăng tốc đáng kể quá trình huấn luyện bằng cách tránh các tính toán dư thừa trong mỗi epoch. Cuối cùng, một DataLoader của PyTorch được tạo ra để xử lý việc tạo lô, xáo trộn và tải dữ liệu đa luồng.

Huấn luyện và Xác thực Mô hình: Triển khai và Huấn luyện một Mạng Phân đoạn Hiện đại

Với quy trình dữ liệu đã được thiết lập, giai đoạn tiếp theo là định nghĩa và huấn luyện mô hình.

  1. Lựa chọn Mô hình: Swin UNETR là một lựa chọn tuyệt vời cho nhiệm vụ này do hiệu suất cao đã được chứng minh trên thử thách BraTS. Mô hình có thể được khởi tạo dễ dàng từ monai.networks.nets, chỉ định các kênh đầu vào (4 cho các phương thức MRI) và các kênh đầu ra (3 cho các nhãn khối u).
  2. Hàm mất mát và Trình tối ưu hóa: Một sự kết hợp của Dice loss và Cross-Entropy loss, có sẵn dưới dạng DiceCELoss trong MONAI, cung cấp một hàm mục tiêu ổn định và hiệu quả cho nhiệm vụ phân đoạn này. Trình tối ưu hóa Adam là một lựa chọn tiêu chuẩn và mạnh mẽ để huấn luyện.
  3. Vòng lặp Huấn luyện và Xác thực: Một vòng lặp huấn luyện PyTorch tiêu chuẩn được triển khai.
    • Huấn luyện: Vòng lặp lặp qua DataLoader huấn luyện. Trong mỗi bước, một lô dữ liệu được chuyển đến GPU, một lượt truyền xuôi được thực hiện qua mô hình Swin UNETR, DiceCELoss được tính toán giữa đầu ra của mô hình và các nhãn thực tế, và các gradient được lan truyền ngược để cập nhật trọng số của mô hình.
    • Xác thực: Sau mỗi epoch huấn luyện, một vòng lặp xác thực được chạy trên một bộ dữ liệu riêng biệt. Vì hình ảnh xác thực có kích thước đầy đủ, hàm monai.inferers.sliding_window_inference được sử dụng. Hàm này chạy mô hình một cách có hệ thống trên các patch của khối đầy đủ và ghép các kết quả lại với nhau, khắc phục các giới hạn bộ nhớ GPU. Điểm Dice trung bình được tính toán trên bộ xác thực để theo dõi hiệu suất của mô hình. Các trọng số mô hình đạt được điểm Dice xác thực tốt nhất sẽ được lưu lại để sử dụng sau này.

Suy luận và Đánh giá: Tạo và Đánh giá Mặt nạ Phân đoạn trên Dữ liệu Chưa từng thấy

Bước cuối cùng là sử dụng mô hình được huấn luyện tốt nhất để tạo ra các dự đoán trên một bộ dữ liệu thử nghiệm được giữ lại.

  1. Tải Mô hình: Các trọng số mô hình đã lưu từ epoch xác thực tốt nhất được tải vào kiến trúc Swin UNETR.
  2. Suy luận: Đối với mỗi trường hợp thử nghiệm, quy trình tiền xử lý xác thực (không bao gồm các phép tăng cường ngẫu nhiên) được áp dụng. Hàm sliding_window_inference lại được sử dụng để tạo ra một bản đồ xác suất 3 kênh cho khối 3D đầy đủ.
  3. Xử lý hậu kỳ: Một chuỗi biến đổi xử lý hậu kỳ được áp dụng cho đầu ra của mô hình. Điều này thường bao gồm AsDiscrete để chuyển đổi các bản đồ xác suất thành một mặt nạ nhị phân bằng cách đặt ngưỡng, và có thể là KeepLargestConnectedComponent để loại bỏ các dự đoán nhỏ, giả, có thể làm sạch phân đoạn cuối cùng.
  4. Trực quan hóa và Đánh giá: Mặt nạ phân đoạn cuối cùng có thể được lưu dưới dạng tệp NIfTI và được trực quan hóa bằng cách chồng nó lên các bản quét MRI gốc bằng các trình xem như 3D Slicer hoặc bằng cách vẽ các lát cắt riêng lẻ bằng Matplotlib. Đánh giá định lượng sẽ bao gồm việc tính toán điểm Dice và các chỉ số khác so với các nhãn thực tế cho bộ dữ liệu thử nghiệm.

Toàn bộ quy trình làm việc này, mặc dù phức tạp trong các hoạt động cơ bản, nhưng được MONAI làm cho dễ quản lý và có hệ thống. Framework cung cấp các thành phần được xây dựng sẵn, mạnh mẽ và được tối ưu hóa cho mỗi bước quan trọng, từ việc tải dữ liệu chuyên dụng và chuyển đổi nhãn đến việc huấn luyện dựa trên patch và suy luận cửa sổ trượt. Điều này cho phép nhà nghiên cứu tập trung vào logic cấp cao của thí nghiệm—chẳng hạn như chọn một kiến trúc hoặc tinh chỉnh các siêu tham số—thay vì bị sa lầy vào các chi tiết triển khai cấp thấp, dễ gây lỗi của việc xử lý hình ảnh y tế 3D.

Các Ứng dụng Phân tích Hình ảnh Não Nâng cao

Mặc dù phân đoạn là một nền tảng của hình ảnh thần kinh, khả năng của MONAI mở rộng ra toàn bộ các nhiệm vụ phân tích. Thiết kế mô-đun của nó cung cấp các khối xây dựng cơ bản—mạng, hàm mất mát và các phép biến đổi—cho các ứng dụng trong phân loại, phát hiện tổn thương và đăng ký. Sự linh hoạt này thiết lập MONAI như một framework đa dụng cho hình ảnh thần kinh tính toán, không chỉ đơn thuần là một bộ công cụ phân đoạn chuyên biệt. Các thành phần của framework có thể được kết hợp linh hoạt để xây dựng các mô hình nghiên cứu mới, chẳng hạn như học có giám sát yếu và tự giám sát, vốn rất cần thiết để tận dụng các bộ dữ liệu lớn, được dán nhãn thưa thớt phổ biến trong hình ảnh y tế.

Phân loại Mô não và Phát hiện Tổn thương

MONAI cung cấp các công cụ mạnh mẽ để xây dựng các mô hình phân loại có thể hỗ trợ chẩn đoán và tiên lượng bằng cách xác định các bệnh lý từ các bản quét não thể tích.

  • Nghiên cứu điển hình: Phân loại Bệnh thoái hóa Thần kinh: Một ứng dụng đáng chú ý là việc phát triển một công cụ Chẩn đoán có sự hỗ trợ của Máy tính (CAD) có thể tái tạo để phân loại Sa sút trí tuệ Thùy trán (FTD) từ các bản quét MRI T1. Công trình này là một ví dụ điển hình về một quy trình nghiên cứu lý tưởng, kết hợp framework Clinica để tiền xử lý dữ liệu tiêu chuẩn hóa (bao gồm chuyển đổi sang định dạng BIDS) với một quy trình dựa trên MONAI để huấn luyện mô hình. Nghiên cứu đã sử dụng kiến trúc 3D DenseNet121 để phân biệt bệnh nhân FTD với nhóm đối chứng bình thường, đạt được hiệu suất cao và chứng minh tính khả thi của việc xây dựng các bộ phân loại chẩn đoán tiêu chuẩn hóa, có thể tái tạo với MONAI.
  • Nghiên cứu điển hình: Phát hiện Phình động mạch: Một ví dụ mạnh mẽ khác là việc sử dụng MONAI để phát hiện phình động mạch não, một nhiệm vụ cực kỳ khó khăn do kích thước nhỏ của mục tiêu (<1% thể tích hình ảnh) và sự mất cân bằng lớp cực đoan do đó. Nghiên cứu này nhấn mạnh tầm quan trọng của khả năng lấy mẫu dữ liệu thông minh của MONAI. Phép biến đổi RandCropByPosNegLabeld đã được sử dụng để lấy mẫu quá mức lớp dương hiếm gặp bằng cách cắt các patch tập trung vào phình động mạch, sử dụng mặt nạ phân đoạn làm hướng dẫn. Chiến lược lấy mẫu có mục tiêu này là chìa khóa để huấn luyện thành công một mô hình phân loại DenseNet, cho thấy cách các công cụ của MONAI có thể được áp dụng một cách sáng tạo để giải quyết các vấn đề phát hiện đầy thách thức mà sẽ không thể thực hiện được với việc xử lý dữ liệu ngây thơ.
  • Phương pháp phát hiện Tăng tín hiệu Chất trắng (WMHs): Việc phát hiện và phân đoạn WMHs trên các bản quét MRI FLAIR có tầm quan trọng lâm sàng để chẩn đoán và theo dõi các tình trạng như đột quỵ thiếu máu cục bộ, đa xơ cứng và các bệnh mất myelin khác. Mặc dù không có hướng dẫn chính thức nào của MONAI cho nhiệm vụ cụ thể này, framework này hoàn toàn phù hợp với nó. Một nhà nghiên cứu có thể dễ dàng điều chỉnh quy trình phân đoạn khối u não, sử dụng một mô hình thuộc họ UNet để phân đoạn các tổn thương WMH. Đầu vào sẽ là các bản quét MRI FLAIR, và nhãn thực tế sẽ là các mặt nạ nhị phân của các tổn thương. Do tính chất thường nhỏ và lan tỏa của WMHs, các hàm mất mát dựa trên Dice và các chiến lược lấy mẫu dựa trên patch của MONAI sẽ rất cần thiết để huấn luyện mạnh mẽ.

Đăng ký Hình ảnh Thần kinh Dựa trên Học máy

Đăng ký hình ảnh—quá trình căn chỉnh không gian hai hoặc nhiều hình ảnh—là một nhiệm vụ cơ bản trong hình ảnh thần kinh. Nó được sử dụng để căn chỉnh bản quét của bệnh nhân với một bản đồ não tiêu chuẩn, để theo dõi các thay đổi giải phẫu theo thời gian trong các nghiên cứu dọc, hoặc để hợp nhất thông tin từ nhiều phương thức (ví dụ: MRI và PET). MONAI bao gồm một bộ thành phần chuyên dụng để thực hiện đăng ký hình ảnh dựa trên học sâu.

  • Các thành phần Đăng ký có thể Vi phân: Cốt lõi của framework đăng ký của MONAI là mô-đun Warping, một lớp có thể vi phân áp dụng một phép biến đổi không gian đã tính toán cho một hình ảnh. Điều này cho phép mạng đăng ký được huấn luyện từ đầu đến cuối bằng cách sử dụng phương pháp giảm độ dốc. MONAI hỗ trợ cả các phép biến đổi tham số đơn giản (ví dụ: affine) và các phép biến đổi phức tạp, không cứng nhắc được biểu diễn bằng một trường dịch chuyển dày đặc (DDF).
  • Các Mạng Đăng ký Chuyên biệt: MONAI cung cấp một số kiến trúc mạng được thiết kế để ước tính các phép biến đổi này:
    • GlobalNet: Một mạng dựa trên bộ mã hóa dự đoán các tham số của một phép biến đổi affine toàn cục.
    • RegUNetLocalNet: Các kiến trúc bộ mã hóa-giải mã giống U-Net dự đoán một trường dịch chuyển dày đặc, theo từng voxel để đăng ký không cứng nhắc.
  • Huấn luyện Không giám sát và Giám sát yếu: Một lợi thế chính của đăng ký dựa trên học máy là nó thường có thể được huấn luyện mà không cần bất kỳ trường biến dạng thực tế nào. Thay vào đó, mạng được huấn luyện theo cách không giám sát bằng cách tối ưu hóa một chỉ số tương đồng hình ảnh giữa hình ảnh di chuyển đã được biến dạng và hình ảnh mục tiêu cố định. MONAI cung cấp các hàm mất mát tương đồng tiêu chuẩn cho mục đích này, chẳng hạn như LocalNormalizedCrossCorrelationLossGlobalMutualInformationLoss. Hơn nữa, nếu có sẵn các mặt nạ phân đoạn giải phẫu cho cả hai hình ảnh, chúng có thể được sử dụng để cung cấp một tín hiệu giám sát yếu. Bằng cách phạt sự không khớp giữa phân đoạn di chuyển đã được biến dạng và phân đoạn cố định bằng DiceLoss, mạng có thể được hướng dẫn để tạo ra các sự căn chỉnh hợp lý hơn về mặt giải phẫu. Để đảm bảo rằng biến dạng được dự đoán là mượt mà và thực tế, một thuật ngữ chính quy hóa như BendingEnergyLoss có thể được thêm vào tổng hàm mất mát.

Khả năng kết hợp các hàm mất mát và các mô hình huấn luyện khác nhau này cho thấy sự linh hoạt của MONAI. Ví dụ, hướng dẫn DeepAtlas trình bày một cách tiếp cận giám sát yếu tinh vi, trong đó một mạng đăng ký và một mạng phân đoạn được huấn luyện đồng thời. Mạng phân đoạn cung cấp hướng dẫn giải phẫu để huấn luyện mạng đăng ký, trong khi mạng đăng ký cung cấp một hình thức tăng cường dữ liệu để cải thiện mạng phân đoạn. Sơ đồ huấn luyện cộng sinh này là một phương pháp mạnh mẽ để tận dụng các bộ dữ liệu chỉ có một vài nhãn được chú thích và chứng minh rằng MONAI không chỉ là một bộ sưu tập các quy trình cố định mà còn là một bộ công cụ linh hoạt để xây dựng các quy trình nghiên cứu mới và tiên tiến.

MONAI Model Zoo: Tăng tốc Nghiên cứu Hình ảnh Não

Trong nỗ lực thúc đẩy AI y tế, khả năng xây dựng dựa trên công việc trước đó là tối quan trọng. MONAI Model Zoo và định dạng MONAI Bundle liên quan là các thành phần nền tảng của hệ sinh thái, được thiết kế đặc biệt để tạo điều kiện thuận lợi cho điều này bằng cách thúc đẩy nghiên cứu có thể tái tạo và dân chủ hóa quyền truy cập vào các mô hình hiện đại. Cơ sở hạ tầng này đại diện cho một sự trưởng thành đáng kể trong các thực hành khoa học mở, vượt ra ngoài việc chỉ chia sẻ mã nguồn để chia sẻ các tạo tác khoa học được đóng gói đầy đủ, có thể thực thi và có thể tái tạo.

Vai trò của MONAI Bundles trong AI có thể Tái tạo

Một MONAI Bundle là một cấu trúc thư mục được tiêu chuẩn hóa, đóng gói tất cả các thành phần cần thiết để thực thi một quy trình học sâu, bao gồm huấn luyện, suy luận hoặc đánh giá. Một bundle điển hình chứa:

  • Trọng số Mô hình đã được Huấn luyện trước: Các tham số đã học của mạng nơ-ron.
  • Tệp Cấu hình: Các tệp JSON hoặc YAML xác định rõ ràng toàn bộ quy trình làm việc, bao gồm các quy trình biến đổi tiền xử lý và hậu xử lý, kiến trúc mạng và các tham số suy luận (ví dụ: kích thước cửa sổ trượt).
  • Kịch bản và Siêu dữ liệu: Các kịch bản bổ sung cho các tác vụ như tạo danh sách dữ liệu, cũng như siêu dữ liệu mô tả mô hình, mục đích sử dụng và thông tin cấp phép.

Định dạng tự chứa này là chìa khóa để đảm bảo khả năng tái tạo. Khi một nhà nghiên cứu chia sẻ một MONAI Bundle, họ không chỉ chia sẻ mô hình, mà còn chia sẻ toàn bộ công thức tính toán cần thiết để sử dụng nó một cách chính xác. Điều này loại bỏ sự mơ hồ và các điểm thất bại phổ biến liên quan đến việc chia sẻ mã truyền thống, nơi sự khác biệt về phiên bản phần mềm, các phụ thuộc hoặc các biến thể tinh vi trong tiền xử lý có thể dẫn đến việc không thể tái tạo lại kết quả ban đầu. Bằng cách đóng gói toàn bộ quy trình làm việc, MONAI Bundles cho phép các nhà nghiên cứu khác dễ dàng tải xuống và thực thi một mô hình, đánh giá nó trên dữ liệu của riêng họ, hoặc sử dụng nó như một điểm khởi đầu mạnh mẽ để tinh chỉnh, qua đó đẩy nhanh đáng kể chu kỳ nghiên cứu.

Khảo sát các Mô hình được Huấn luyện trước cho Phân tích Hình ảnh Não

MONAI Model Zoo lưu trữ một bộ sưu tập các mô hình được tuyển chọn theo định dạng Bundle, do cộng đồng học thuật và công nghiệp đóng góp. Một số mô hình này có thể áp dụng trực tiếp cho phân tích hình ảnh não, cung cấp cho các nhà nghiên cứu các công cụ mạnh mẽ, sẵn có.

Bảng dưới đây trình bày chi tiết một số mô hình được huấn luyện trước chính có sẵn cho các nhiệm vụ hình ảnh não, làm nổi bật mục đích, kiến trúc và đầu vào và đầu ra dự kiến của chúng.

Tên Mô hìnhNhiệm vụ ChínhPhương thức Đầu vàoKiến trúc ChínhĐầu ra
brats_mri_segmentationPhân đoạn Khối u NãoMRI đa phương thức (T1, T1Gd, T2, FLAIR)SegResNet3 nhãn: Toàn bộ Khối u (WT), Lõi Khối u (TC), Khối u Tăng cường (ET)
wholeBrainSeg_Large_UNEST_segmentationPhân vùng Toàn bộ NãoMRI T1UNEST (dựa trên Transformer)133 nhãn cấu trúc giải phẫu (ví dụ: chất xám, chất trắng, CSF, nhân dưới vỏ)
brats_mri_generative_diffusionTạo Hình ảnh Tổng hợpMRI đa phương thức (BraTS)Mô hình Khuếch tánCác khối MRI não đa phương thức 3D tổng hợp có khối u

Gói brats_mri_segmentation, được huấn luyện trên bộ dữ liệu BraTS 2018, cung cấp một mô hình cơ sở mạnh mẽ cho nghiên cứu ung thư thần kinh. Mô hình wholeBrainSeg_Large_UNEST_segmentation là một mô hình nền tảng đặc biệt mạnh mẽ, được phát triển với sự hợp tác của Đại học Vanderbilt, có khả năng thực hiện phân vùng toàn diện toàn bộ não thành 133 cấu trúc riêng biệt trong vài giây trên một GPU hiện đại. Điều này cho phép phân tích định lượng nhanh chóng hình thái não ở quy mô trước đây không thể đạt được bằng các phương pháp thủ công hoặc tự động truyền thống. Sự sẵn có của các mô hình sinh, chẳng hạn như các mô hình khuếch tán được huấn luyện trên dữ liệu BraTS, mở rộng thêm các khả năng nghiên cứu, cung cấp các hướng đi mới cho việc tăng cường dữ liệu, phát hiện bất thường và tạo ra các bộ dữ liệu tổng hợp để chia sẻ dữ liệu bảo vệ quyền riêng tư.

Hướng dẫn Thực hành: Tải xuống và Tích hợp một Gói từ Model Zoo vào Quy trình Tùy chỉnh

MONAI cung cấp các công cụ đơn giản, thân thiện với người dùng để tương tác với Model Zoo.

  1. Duyệt và Khám phá: Các mô hình có thể được khám phá trên trang web chính thức của MONAI Model Zoo (monai.io/model-zoo) hoặc trên kho lưu trữ GitHub của dự án. Các nền tảng như Hugging Face cũng lưu trữ các bộ sưu tập mô hình MONAI.
  2. Tải xuống một Gói: Một gói mô hình có thể được tải xuống và giải nén bằng một lệnh giao diện dòng lệnh (CLI) duy nhất. Ví dụ, để tải xuống mô hình phân đoạn toàn bộ não:
    Bash
    pip install "monai[fire]"
    python -m monai.bundle download --name "wholeBrainSeg_Large_UNEST_segmentation" --bundle_dir "bundles/"
    Lệnh này tải xuống gói được chỉ định vào một thư mục bundles/ cục bộ.
  3. Sử dụng Gói: Sau khi tải xuống, gói có thể được sử dụng theo nhiều cách:
    • Suy luận từ Dòng lệnh: MONAI CLI có thể được sử dụng để chạy suy luận trực tiếp trên dữ liệu mới. Người dùng cung cấp đường dẫn đến hình ảnh đầu vào của họ, và cấu hình inference.json được xác định trước của gói sẽ xử lý phần còn lại:
      Bash
      python -m monai.bundle run --config_file "bundles/wholeBrainSeg_Large_UNEST_segmentation/configs/inference.json" --image_file "/path/to/your/brain_mri.nii.gz"
    • Tích hợp với MONAI Label: Ứng dụng monaibundle trong MONAI Label cho phép các mô hình từ zoo được tải trực tiếp vào các trình xem như 3D Slicer. Điều này cho phép người dùng thực hiện phân đoạn tương tác, có sự hỗ trợ của AI bằng cách sử dụng các mô hình được huấn luyện trước mạnh mẽ này trên dữ liệu của riêng họ chỉ với vài cú nhấp chuột.
    • Tích hợp bằng Python: Các thành phần của gói cũng có thể được tải và sử dụng trong một kịch bản Python tùy chỉnh, cung cấp sự linh hoạt tối đa cho nghiên cứu và phát triển.

Bối cảnh So sánh: Định vị MONAI trong Bộ công cụ Hình ảnh Thần kinh

Để đánh giá đầy đủ giá trị và vai trò cụ thể của MONAI, điều cần thiết là phải định vị nó trong hệ sinh thái phần mềm rộng lớn hơn được sử dụng cho phân tích hình ảnh thần kinh. MONAI không nhằm mục đích thay thế tất cả các công cụ hiện có; thay vào đó, nó lấp đầy một khoảng trống quan trọng, trước đây chưa được phục vụ. Sự lựa chọn giữa các công cụ này hiếm khi là vấn đề “hoặc là/hoặc là” mà là lựa chọn công cụ phù hợp cho nhiệm vụ phù hợp trong một quy trình phân tích toàn diện. Một dự án hình ảnh thần kinh tiên tiến có thể sẽ tận dụng các thế mạnh độc đáo của nhiều gói phần mềm kết hợp với nhau.

MONAI so với các Framework Mục đích chung (PyTorch, TensorFlow)

Các framework học sâu đa dụng như PyTorch và TensorFlow là những động cơ nền tảng mà các thư viện như MONAI được xây dựng trên đó.

  • Mức độ Trừu tượng và Chuyên môn hóa: PyTorch cung cấp các tensor cơ bản, vi phân tự động và các nguyên hàm mạng nơ-ron. Tuy nhiên, nó không phụ thuộc vào lĩnh vực. Để phân tích một hình ảnh MRI não 3D, một nhà nghiên cứu sử dụng PyTorch thuần túy sẽ cần phải viết một lượng lớn mã tùy chỉnh để xử lý I/O NIfTI, quản lý siêu dữ liệu y tế, triển khai các phép tăng cường dữ liệu 3D cụ thể, tạo các hàm mất mát chuyên biệt như Dice loss, và xây dựng logic suy luận phức tạp như một bộ đánh giá cửa sổ trượt. MONAI cung cấp tất cả các thành phần chuyên biệt theo lĩnh vực này dưới dạng các mô-đun được xây dựng sẵn, đã được kiểm tra và tối ưu hóa. Nó hoạt động ở một mức độ trừu tượng cao hơn, cho phép các nhà nghiên cứu tập trung vào thiết kế thử nghiệm thay vì phải phát minh lại các thành phần hình ảnh y tế cơ bản.

Kết luận

Mạng Lưới Mở Y tế cho AI (MONAI) đã thành công trong việc tự khẳng định mình là framework mã nguồn mở hàng đầu cho học sâu trong hình ảnh y tế. Bằng cách cung cấp một hệ sinh thái tiêu chuẩn hóa, từ đầu đến cuối được xây dựng trên PyTorch, nó đã giải quyết các thách thức quan trọng về khả năng tái tạo, hợp tác và sự phức tạp của lĩnh vực cụ thể mà trước đây đã cản trở sự tiến bộ trong lĩnh vực này. Đối với phân tích hình ảnh não, bộ công cụ toàn diện của nó—từ xử lý dữ liệu thông minh và các kiến trúc 3D gốc trong MONAI Core đến chú thích có sự hỗ trợ của AI trong MONAI Label và chia sẻ mô hình có thể tái tạo qua Model Zoo—cung cấp một nền tảng vô song cho cả nghiên cứu cơ bản và phát triển chuyển giao. MONAI làm giảm hiệu quả rào cản gia nhập để tiến hành nghiên cứu hình ảnh thần kinh tính toán chất lượng cao, đồng thời cung cấp sức mạnh và sự linh hoạt cần thiết cho các chuyên gia ở vị trí tiên phong.

Quỹ đạo của MONAI: AI Đa phương thức và Kiến trúc Tác tử

Sự phát triển của MONAI đang đẩy lùi các ranh giới của AI y tế vượt ra ngoài phân tích hình ảnh đơn phương thức. Sự phát triển của MONAI Multimodal báo hiệu một sự thay đổi chiến lược hướng tới việc tích hợp toàn bộ dữ liệu chăm sóc sức khỏe. Biên giới mới này nhằm mục đích kết hợp những hiểu biết sâu sắc từ hình ảnh y tế (CT, MRI) với dữ liệu có cấu trúc từ Hồ sơ Sức khỏe Điện tử (EHR) và văn bản không cấu trúc từ tài liệu lâm sàng.

Tầm nhìn này đang được hiện thực hóa thông qua việc phát triển các framework AI tác tử tinh vi. Các hệ thống này tận dụng các tác tử phần mềm tự trị, được cung cấp bởi các Mô hình Ngôn ngữ Lớn (LLM) và Mô hình Thị giác-Ngôn ngữ (VLM) chuyên biệt, để thực hiện các suy luận phức tạp, đa bước trên các loại dữ liệu đa dạng này. Ví dụ, một tác tử X-quang có thể phân tích một bản quét MRI não, trích xuất các phát hiện, và sau đó tương quan chúng với lịch sử lâm sàng và kết quả xét nghiệm của bệnh nhân từ EHR để tạo ra một báo cáo chẩn đoán toàn diện. Sự chuyển dịch này hướng tới AI đa phương thức, tác tử đại diện cho bước logic tiếp theo trong việc tạo ra các hệ thống có thể suy luận giống như các bác sĩ lâm sàng, hứa hẹn sẽ mở ra các cấp độ mới về độ chính xác chẩn đoán và hỗ trợ quyết định lâm sàng.

Tóm lại, bằng cách cung cấp một nền tảng chung được xây dựng trên các nguyên tắc của khoa học mở, MONAI không chỉ đẩy nhanh tốc độ đổi mới kỹ thuật mà còn thúc đẩy một văn hóa nghiên cứu hợp tác và đáng tin cậy hơn, mở đường cho thế hệ tiếp theo của những tiến bộ do AI thúc đẩy trong khoa học não bộ và khoa học thần kinh lâm sàng.

Theo https://ksml4.com/monai-framework-for-advanced-brain-image-analysis/


Discover more from Cùng Học Cùng Mơ

Subscribe to get the latest posts sent to your email.

Leave a Reply

Your email address will not be published. Required fields are marked *

error: Content is protected !!