Quay lại công ty trí tuệ nhân tạo Smart Engines đươc nói quá nhiều từ vol trước đến vol này, và vừa được nói ở cách đây vài post xong. Họ không chỉ phát triển các sản phẩm trí tuệ nhân tạo AI để nhận dạng tài liệu
Sản phẩm Smart Tomo Engine của họ dùng để tái tạo hình ảnh chụp cắt lớp (tomographic reconstruction), cũng đã kiểm thử và chạy tốt trên các máy chủ (server), máy trạm (workstation), etc với dòng chip CPU Elbrus của Nga
Phát triển và thử nghiệm chương trình Smart Tomo Engine để tái tạo hình chụp cắt lớp sử dụng nền tảng Elbrus
Hôm nay bài viết của chúng tôi sẽ tập trung vào hai chủ đề yêu thích của chúng tôi: chụp cắt lớp vi tính (CT - computed tomography) và bộ xử lý do Nga sản xuất có tên là Elbrus. Chúng ta sẽ nói về sự khác biệt giữa kết quả chụp X-quang và chụp CT và giải thích lý do tại sao một thiết bị lớn và nghiêm trọng như máy chụp cắt lớp lại có thể thực sự sử dụng một máy tính chuyên dụng. Mặc dù thực tế là máy chụp cắt lớp đã được sử dụng gần 50 năm (việc phát minh ra máy chụp cắt lớp đầu tiên được công bố vào năm 1972 [1]), vẫn còn rất nhiều vấn đề cần giải quyết trong lĩnh vực chụp cắt lớp vi tính. Có nhu cầu mạnh mẽ về các thuật toán mới cho chụp cắt lớp vi tính sẽ nhanh hơn và chính xác hơn so với các thuật toán đã có và có thể làm giảm sự tiếp xúc của một vật thể với bức xạ. Điều đó, đến lượt nó, sẽ mở rộng đáng kể phạm vi áp dụng của phương pháp CT. Với ý nghĩ đó,chúng tôi đã phát triển phần mềm Smart Tomo Engine. Chúng ta sẽ nói về nó nhiều hơn ở phần sau.
Chúng tôi đã viết về việc triệt tiêu hiện vật chỉnh hướng và ước tính hiệu ứng giác hơi. Trong bài viết này, chúng tôi sẽ viết về một số thử nghiệm được thực hiện bằng cách sử dụng bộ dữ liệu tổng hợp và bộ dữ liệu chụp ảnh thực tế do máy chụp ảnh của Nga thu thập và chứng minh cách phần mềm của chúng tôi hoạt động với bộ xử lý Elbrus thế hệ mới (video được đính kèm bên dưới). Kết quả của chương trình này, chúng ta sẽ thấy được thế giới bên trong của một con bọ may vá và ý nghĩa của “thế giới bên trong” nên được hiểu theo nghĩa đen trong trường hợp này.
Trong bài viết này, chúng tôi sẽ viết về một số thử nghiệm được thực hiện bằng cách sử dụng bộ dữ liệu tổng hợp và bộ dữ liệu chụp ảnh thực tế do máy chụp ảnh của Nga thu thập và chứng minh cách phần mềm của chúng tôi hoạt động với bộ xử lý Elbrus thế hệ mới (video được đính kèm bên dưới).
Kết quả của chương trình này, chúng ta sẽ thấy được thế giới bên trong của một con bọ may vá và ý nghĩa của “thế giới bên trong” nên được hiểu theo nghĩa đen trong trường hợp này.Trong bài viết này, chúng tôi sẽ viết về một số thử nghiệm được thực hiện bằng cách sử dụng bộ dữ liệu tổng hợp và bộ dữ liệu chụp ảnh thực tế do máy chụp ảnh của Nga thu thập và chứng minh cách phần mềm của chúng tôi hoạt động với bộ xử lý Elbrus thế hệ mới (video được đính kèm bên dưới). Kết quả của chương trình này, chúng ta sẽ thấy được thế giới bên trong của một con bọ may vá và ý nghĩa của “thế giới bên trong” nên được hiểu theo nghĩa đen trong trường hợp này.
Roentgenography là một phương pháp chẩn đoán không xâm lấn được sử dụng rộng rãi dựa trên việc tạo ra hình ảnh của một đối tượng bằng cách sử dụng bức xạ tia X. Để có được hình ảnh, vật thể được đặt giữa nguồn tia X và máy dò (xem Hình 1, bên trái). Máy dò có thể là phim nhạy cảm với tia X hoặc máy dò vị trí nhạy cảm. Hình ảnh được tạo ra với sự trợ giúp của bức xạ đi qua một vật thể và bị suy yếu trong quá trình này. Các vật liệu khác nhau làm suy giảm bức xạ tia X một cách khác nhau, điều này cung cấp một số loại tương phản trong hình ảnh. Khi chúng tôi đăng ký bức xạ tia x đi qua một đối tượng, chúng tôi có thể xác định thành phần cục bộ của đối tượng nghiên cứu. Có một ví dụ về chụp X-quang ngực trong Hình 1, bên phải. Các vùng ánh sáng đánh dấu các phần có khả năng hấp thụ cao hơn.Khi chúng ta nhìn vào các xương sườn (các thanh cong nhẹ) giới hạn lồng ngực (khoang tối với các vùng sáng hơn của cây phế quản), ở phía bên phải của phần trên của xương ức (cột sáng ở trung tâm) chúng ta có thể thấy một nốt sáng nhỏ.
Hình 1. Roentgenography: lược đồ cơ bản (bên trái); kết quả roentgenography - một biểu đồ phóng xạ (ở bên phải).
Roentgenography không làm rõ vùng vấn đề nằm sâu như thế nào - ngay trên xương ức, phía trước hay phía sau nó. Thật khó để phân tích cấu trúc không gian tốt của khu vực có vấn đề và xác định hình dạng tổng thể của nó chỉ dựa trên một phép chiếu. Hình 2 minh họa mối quan tâm này.
Hình 2.
Phương pháp CT giúp xác định hình dạng và cấu trúc bên trong. Cũng giống như với kỹ thuật ghi hình học (roentgenography), để thu thập dữ liệu, đối tượng được đặt giữa máy phát tia X và máy dò, nhưng trong trường hợp này, máy ghi lại một tập hợp các tia X được chụp ở các góc độ khác nhau. Các góc quay thường phân bố đều trong một khoảng nhất định. Sơ đồ cơ bản của hoạt động của nó được minh họa trong Hình 3.
Hình 3. Sơ đồ cơ bản của hoạt động chụp cắt lớp
Quá trình thu thập hình ảnh ở các góc độ khác nhau được thực hiện bởi một thiết bị đặc biệt gọi là máy chụp cắt lớp. Vì có thể thu được hình ảnh chụp X-quang của nhiều đối tượng vô tri và vô giác, và các nghiên cứu đang được tiến hành ở cấp vi mô và vĩ mô, nên có rất nhiều loại máy chụp cắt lớp khác nhau. Chúng khác nhau tùy theo kiểu quét (quét tròn từng lớp, quét xoắn ốc, v.v.), loại máy phát tia x được sử dụng, kiểu tạo ra chùm tia thăm dò (hình nón, song song, vi tiêu điểm). Nói một cách khái quát, máy chụp cắt lớp có thể được trình bày như một cỗ máy bao gồm một máy phát bức xạ, một vật giữ vật thể và một máy dò. Bất kỳ bộ phận nào trong số này đều có thể di chuyển được nên có thể thay đổi góc một cách có kiểm soát.Một phần không thể thiếu của máy chụp cắt lớp hiện đại là một máy tính không chỉ quản lý quy trình thu thập hình ảnh X-quang mà còn xử lý dữ liệu thu thập được bằng phần mềm chuyên dụng.
Để có thể phân tích các đối tượng khác nhau, có rất nhiều giải pháp kỹ thuật khác nhau có thể được áp dụng. Ví dụ, khi tiến hành một nghiên cứu y tế, một giàn (một thiết bị chuyển động có chứa cấu trúc nguồn phát tia X và máy dò) (Hình 4) quay xung quanh bệnh nhân đang nằm ở một vị trí cố định. Độ phân giải không gian trong các ảnh chụp cắt lớp này đạt 0,2 - 0,5 mm. Kết quả CT được lưu trữ ở định dạng tệp DICOM, là tiêu chuẩn dành riêng cho ngành y tế được phát triển để tạo, lưu trữ và truyền hình ảnh y tế kỹ thuật số và các tài liệu liên quan của bệnh nhân.
Hình 4. Sơ đồ của một máy chụp cắt lớp y tế
Khi tiến hành nghiên cứu trong ống nghiệm trong phòng thí nghiệm, một chương trình thử nghiệm khác sẽ phù hợp. Trong trường hợp này, nguồn và máy dò là đứng yên, và một tập hợp các hình ảnh tia X được tạo ra bằng cách xoay mẫu. Toàn bộ một bộ vi ảnh tia X trong phòng thí nghiệm đã được xây dựng và đang hoạt động tại Phòng thí nghiệm Đo phản xạ và tán xạ góc thấp của Trung tâm Nghiên cứu Khoa học Liên bang “Tinh thể học và Quang tử” thuộc Viện Hàn lâm Khoa học Nga. Một trong những thiết bị này được thể hiện trong Hình 5. Khi sử dụng máy chụp cắt lớp này, mẫu được đặt trên máy đo góc với trục của nó vuông góc với hướng thăm dò. Thiết bị được trang bị một máy dò hai chiều. Kích thước pixel là 9 micron và trường nhìn của máy dò là 24 x 36 mm.Máy này có thể sử dụng cả bức xạ đa sắc và đơn sắc cho mục đích thăm dò. Điều đó cho phép không chỉ chất lượng cao hơn của hình ảnh được tái tạo mà còn cho phép thu thập dữ liệu bổ sung về thành phần nguyên tố của các đối tượng được nghiên cứu. Việc phát triển các máy chụp cắt lớp của riêng họ giúp có thể truy cập vào dữ liệu thí nghiệm (hình ảnh tia X) và hiệu suất của tất cả các đơn vị của thiết bị, do đó, cho phép tối ưu hóa các giao thức đo phù hợp với mục tiêu.
Hình 5. Hình ảnh một máy chụp cắt lớp trong phòng thí nghiệm tại Trung tâm Nghiên cứu Khoa học Liên bang “Tinh thể học và Quang tử học” thuộc Viện Hàn lâm Khoa học Nga.
Sau khi đăng ký hình ảnh X-quang ở các góc độ khác nhau, tức là tập hợp đầy đủ các phép chiếu, chúng phải được xử lý tiếp theo. Mục tiêu cuối cùng của quá trình xử lý là tái tạo lại cấu trúc hình thái bên trong của vật thể. Khi độ tương phản trong hình ảnh đã đăng ký xảy ra do mỗi vật liệu làm suy giảm bức xạ tia X theo cách riêng của chúng, kết quả tái tạo sẽ là sự phân bố không gian của các hệ số suy giảm của bức xạ thăm dò. Việc mô tả đặc điểm cấu trúc hình thái của các đối tượng được xử lý bằng máy cắt lớp dựa trên sự phân bố không gian nêu trên.
Nếu việc thăm dò được tiến hành bằng chùm tia song song, thì vấn đề tái tạo ba chiều có thể được giải quyết bằng cách khôi phục một tập hợp các mặt cắt ngang hai chiều của một vật thể. Để tái tạo một mặt cắt ngang, không cần sử dụng toàn bộ tập hợp các phép chiếu. Tất cả những gì chúng ta cần chỉ là một dòng của một số cố định từ mỗi góc nhìn. Tất cả các dòng này tương ứng với một mặt cắt ngang của phân phối 3D đang được tái tạo và chúng tôi có thể quy cùng một số cho phân phối này. Trong Hình 6, bên phải, có một hình ảnh được xây dựng từ các đường như vậy. Trục ngang tính số cột dò, trục dọc - cho số góc quay. Kết quả tái tạo mặt cắt ngang được thể hiện trong Hình 6, bên phải.
Hình 6. Hình ảnh chụp X-quang ngực (bên trái); kết quả CT - mặt cắt của hình ảnh 3D (bên phải).
Nếu chúng ta sử dụng bức xạ tia X đơn sắc để thăm dò chụp cắt lớp, thì dựa trên định luật Beer-Lambert-Bouguer, vấn đề tái tạo có thể được rút gọn thành việc thực hiện phép biến đổi Radon.
Phép biến đổi Radon là phép biến đổi tích phân nối giá trị của hàm với các giá trị của tích phân dọc theo mọi đường thẳng có thể. Quy trình áp dụng nó là việc tái tạo một hàm chưa biết bằng cách sử dụng các giá trị đã biết của tích phân của nó dọc theo các đường thẳng. Hàm dưới liên kết cần được tái tạo là sự phân bố của hệ số suy giảm tuyến tính của bức xạ tia X đơn sắc trong toàn bộ mẫu. Tính năng đảo ngược đặc trưng cho phép biến đổi Radon đảm bảo việc tái tạo chính xác hàm giới hạn tần số chưa biết nếu có đủ số lượng tích phân dọc theo các đường thẳng được định vị có hệ thống.Tính năng này sử dụng thuật toán chiếu lùi tích lũy và chiếu lùi đã lọc, được thực hiện trong hầu hết các máy chụp ảnh được sản xuất hàng loạt hiện nay. Nó bao gồm hai bước. Bước đầu tiên là lọc tuyến tính các hình ảnh đã đăng ký. Bước thứ hai là phép chiếu nghịch đảo, tức là thậm chí “làm nhòe” từng hàm một chiều được tạo ra ở giai đoạn trước theo hướng thích hợp trên toàn bộ hình ảnh hai chiều với tổng sau đó. Kết quả của hiệu suất thuật toán là sự phân bố không gian được tái tạo lại của hệ số suy giảm tuyến tính của bức xạ tia X của một năng lượng nhất định. Nếu việc thăm dò được thực hiện không sử dụng chùm song song mà là chùm hình nón, thì việc tái tạo từng lớp sẽ không thể thực hiện được và việc sử dụng các thuật toán phức tạp hơn là cần thiết.Chúng tôi sẽ xem xét các thuật toán tái tạo ba chiều, chẳng hạn như thuật toán của Feldkamp, vào một thời điểm khác. Bây giờ, chúng ta hãy bắt đầu cuộc trò chuyện về phần mềm của chúng tôi.
Công cụ Tomo thông minh
Cốt lõi của Smart Tomo Engine là một thư viện tái tạo hình ảnh chụp cắt lớp thực hiện các chức năng sau thông qua API: đọc hình ảnh chụp cắt lớp (chiếu), bản thân việc tái tạo hình ảnh chụp cắt lớp (có ba thuật toán để lựa chọn ở đây) và lưu trữ kết quả (sử dụng định dạng tệp đề xuất: DICOM, PNG). Sản phẩm phần mềm cũng bao gồm giao diện người dùng đồ họa cho phép hiển thị hai chiều hình ảnh chụp cắt lớp và kết quả tái tạo. Chức năng chính của sản phẩm phần mềm là thực hiện tái tạo hình ảnh kỹ thuật số ba chiều của một đối tượng bằng cách sử dụng một tập hợp các hình ảnh chụp cắt lớp truyền dẫn của nó trong dải x-quang.
Các thuật toán sau được triển khai để tái tạo hai chiều theo từng lớp:
FBP - Chiếu ngược được lọc. Phương pháp tái tạo chụp cắt lớp cổ điển kết hợp phép chiếu nghịch đảo và lọc tuyến tính. Độ phức tạp tính toán là $ O (n ^ 3) $. Bạn có thể tìm hiểu thêm về phương pháp này tại đây [2].
FR - Tái tạo Fourier trực tiếp. Thuật toán này hoạt động trong miền tần số và sử dụng Biến đổi Fourier Nhanh (FFT) để lọc và phép chiếu nghịch đảo. Độ phức tạp tính toán của các phép nhân là $ O (n ^ 2 \ log n) $.
HFBP - Hough FBP. Đó là một thuật toán tái tạo được phát triển bởi các nhà khoa học của chúng tôi. Thuật toán Brady cho Biến đổi Hough nhanh được sử dụng cho phép chiếu ngược và phương pháp Deriche được sử dụng để tăng tốc lọc tuyến tính [4,5].
Thử nghiệm trên nền tảng Elbrus
Chúng tôi đã thử nghiệm phần mềm của mình bằng nền tảng do Nga sản xuất. Thử nghiệm được thực hiện trên các máy tính Elbrus-401, Elbrus-804 và Elbrus-801CB. Elbrus-401 là máy tính trạm sử dụng bộ vi xử lý Elbrus-4C, Elbrus-804 là máy chủ có 4 bộ vi xử lý Elbrus-8C. (Chúng tôi đã thử nghiệm một phần mềm khác do chúng tôi phát triển trên những máy tính này. Elbrus-801CB là sự phát triển mới nhất của MCST: đó là một máy tính trạm sử dụng bộ xử lý Elbrus-8CB. Các đồng nghiệp của chúng tôi từ Trung tâm Công nghệ SPARC Moscow (MCST) đã nói chuyện với chúng tôi về sự khác biệt chính của máy tính Elbrus thuộc một số thế hệ: "Elbrus-4c là bộ vi xử lý đầu tiên được sản xuất hàng loạt cho thị trường. Đó là bộ vi xử lý 4 nhân với tốc độ xung nhịp 750 ... 800 MHz và 3 DDR3- 1600 kênh cho giao tiếp giữa các bộ xử lý.Elbrus-8C là bộ vi xử lý 8 lõi với tốc độ xung nhịp 1,2… 1,3 Ghz và với 4 bộ bộ nhớ kênh DDR3-1600 và mỗi lõi có gấp 1,5 lần đơn vị logic số học (ALU) để có hiệu suất dấu chấm động cao hơn. Elbrus-8CB là một cải tiến hơn nữa: đó là bộ vi xử lý 8 lõi với tốc độ xung nhịp 1,5 Ghz và bộ nhớ kênh DDR4-2400 và với số lượng ALU gấp 2 lần. Elbrus-8CB hoạt động tốt hơn với dữ liệu không liên quan và nó có rất nhiều cải tiến nhỏ khác so với Elbrus-8C.
Đặc điểm của các bộ xử lý được trình bày trong Bảng 1.
Chúng tôi đã viết về cách tối ưu hóa cho nền tảng điện toán Elbrus, vì vậy chúng tôi sẽ không trình bày chi tiết về chủ đề này bây giờ. Chúng tôi chưa làm được điều gì phi thường ở đây: Chúng tôi đã sử dụng thư viện EML được tối ưu hóa (các phép biến đổi hình học của một hình ảnh (ví dụ, các phép biến đổi affine), các phép toán số học, v.v.);
—Chúng tôi đã sử dụng thư viện EML được tối ưu hóa (các phép biến đổi hình học của một hình ảnh (ví dụ, các phép biến đổi affine), các phép toán số học, v.v.);
—Chúng tôi đã sử dụng bản chất khi thư viện EML không hoạt động; tuy nhiên, SIMD trên Elbrus-8CB đã được nâng cấp lên 128 bit và chúng tôi vẫn chưa quản lý để áp dụng đầy đủ nó trong nghiên cứu của mình, đó là lý do tại sao bản chất vẫn hoạt động với các vectơ 64 bit.
Để kiểm tra phần mềm Smart Tomo Engine, chúng tôi đã thu thập hai tập dữ liệu: một tập dữ liệu tổng hợp và một tập dữ liệu thực tế. Tập dữ liệu tổng hợp “Shepp-Logan 3D” được tạo bằng cách sử dụng phương pháp mô hình hóa toán học. Các phép chiếu được tính toán từng lớp trên ảo ảnh 3D Shepp-Logan bằng cách sử dụng phương pháp đẩy chổi. Mặt cắt ngang được thể hiện trong Hình 8, bên trái. Kích thước của hình ảnh ảo là 511х511х511. Các phép chiếu được tính toán cho 420 góc khác nhau, phân bố đều giữa 0,5 và 210 độ. Đã có 511 sinogram với kích thước 511-420 được xem xét ở đầu vào của thử nghiệm của chúng tôi với phần mềm Smart Tomo Engine (một trong số chúng được hiển thị trong Hình 7, bên phải). Và có 511 lớp được tái tạo ở đầu ra, với kích thước là 511х511.Kích thước của hình ảnh ảo bằng kích thước của hình ảnh được tạo ra bởi các máy chụp cắt lớp răng hiện nay: kích thước tối đa của vùng quét trong miệng thường là 16 cm, độ phân giải không gian được các nhà sản xuất công bố là 0,3 - 0,4 mm . Trong trường hợp này, kích thước của phép chiếu đã đăng ký sẽ là khoảng 500х500 pixel.
Hình 7. Bên trái - mặt cắt của bóng ma 3D Shepp-Logan, bên phải - hình ảnh sinogram của lớp trung tâm.
Dữ liệu chụp cắt lớp thực tế (tập dữ liệu “Maybug”) được thu thập bằng máy vi phẫu thuật tại Trung tâm Nghiên cứu Khoa học Liên bang “Tinh thể học và Quang tử học” thuộc Viện Hàn lâm Khoa học Nga. Và dữ liệu này được sử dụng cho mục đích nghiên cứu khoa học. Kích thước pixel của máy dò được sử dụng là 9 micron. Mẫu thử nghiệm là một con bọ xít khô. Có 400 phép chiếu được thực hiện trong mạng song song. Mẫu, được đặt trong giá đỡ, đang quay các góc trong phạm vi từ 0,5 đến 200 độ, tăng dần 0,5 độ. Kích thước của hình chiếu được sản xuất là 1261х1175. Đầu vào cho chương trình Smart Tomo Engine là 1261 sinogram với kích thước 1175х400, đầu ra là 1261 lớp được tái tạo với kích thước 1175х1175.
Và đây là phần tốt nhất - kết quả kiểm tra và kết luận
Chúng tôi đã đo tốc độ thực thi của các thuật toán tái tạo mà chúng tôi đã sử dụng: FBP, DFR và HFBP. Thời gian hoạt động của các thuật toán được thể hiện trong Bảng 2. Các phép đo được tiến hành trên 5 máy tính: Elbrus-401, Elbrus-804, Elbrus-801CB, AMD Ryzen 7 2700 và AMD Ryzen Threadripper 3970X. Chúng tôi đã bao gồm thông tin về số bộ xử lý, số lõi vật lý và số luồng chạy tối đa (được chỉ ra trong ngoặc đơn) cho mỗi máy tính. Các phép đo tốc độ tái tạo được tiến hành ở hai chế độ khác nhau: ở chế độ đơn luồng (SM) và chế độ đa luồng (MM). Và chúng đã được triển khai bằng cách sử dụng phiên bản "2017 update 7" của thư viện tbb.
Bảng 2. Các phép đo thời gian hoạt động của chương trình, giây.
Khi phân tích kết quả thử nghiệm, trước hết, chúng tôi muốn đề cập rằng để tái tạo lại 511 lớp bóng ma, máy chủ Elbrus-804 với 4 bộ xử lý phải mất 19 giây khi sử dụng thuật toán HFBP. Điều này có nghĩa là mỗi lớp được tái tạo trong 0,037 giây và tần số từng lớp là 26,8 ips. Để tìm hiểu xem đó là tần số cao hay thấp, chúng ta có thể sử dụng tài liệu tham khảo sau. Giàn của một máy chụp cắt lớp tim 16 mặt cắt quay toàn bộ vòng tròn gần như hai lần mỗi giây và ghi lại khoảng 30 sinogram. Chúng tôi tái tạo 26,8 lớp mỗi giây, tức là nó thực tế là một quá trình tái tạo theo thời gian thực. Vì vậy, chúng tôi có thể kết luận rằng khi sử dụng nền tảng của Nga, việc tái tạo đáp ứng các yêu cầu về thời gian hoạt động trong tim mạch, trong đó tham số tham chiếu chính là tần số của nhịp tim,trung bình, bằng một giây.
Việc tái tạo theo thời gian thực cũng được sử dụng để thực hiện giao thức quét mới được các nhà khoa học của chúng tôi đề xuất gần đây - tái tạo được giám sát [6]. Khi quy trình này được sử dụng, có thể giảm mức phơi nhiễm bức xạ do việc thu thập hình ảnh X quang sẽ dừng lại ngay sau khi có một bộ thích hợp cho việc tái tạo.
Không có hạn chế nghiêm trọng về thời gian khi nghiên cứu khoa học, nhưng có một số yêu cầu nhất định đối với độ phân giải không gian. Vì lý do này, các mặt cắt được tái tạo lớn hơn. Khi chúng tôi làm việc với tập dữ liệu được tạo bởi máy ảnh vi mô trong phòng thí nghiệm, mất 189 giây để tái tạo lại 1261 lớp ở chế độ đa luồng (6,7 ips). Việc đo dữ liệu đầu vào với sự trợ giúp của máy chụp cắt lớp trong phòng thí nghiệm mất 2000 giây, trong khi chương trình Smart Tomo Engine chạy trên Elbrus-804 chỉ mất 3 phút và một số thay đổi để tái tạo lại tất cả các lớp, chiếm 10% so với trước đó kết quả. Máy chủ 4 bộ xử lý với bộ vi xử lý Elbrus-8CB sẽ hoạt động nhanh hơn nữa. Nó đã được phát triển tại MSCT và việc sản xuất hàng loạt hiện đang trong giai đoạn lập kế hoạch.
Mối quan hệ giữa hiệu suất của các nền tảng khác nhau bằng cách sử dụng mỗi thuật toán cũng rất thú vị. Khi sử dụng FBP, chi phí của Elbrus là vừa phải và khi tốc độ đồng hồ được bình thường hóa, kết quả là khá gần. Nhưng khi sử dụng DFR và HFBP, chi phí Elbrus so với nền tảng x86 cao hơn nhiều. Tại sao vậy? Điều này xảy ra do phần mềm của chúng tôi không được tối ưu hóa đầy đủ cho nền tảng Elbrus. Chúng tôi đã dành 5 năm để giải quyết các vấn đề tối ưu hóa cho nền tảng x86-64 và chúng tôi vẫn chưa tối ưu hóa hầu hết các chương trình và thuật toán cho nền tảng Elbrus, cụ thể là Elbrus-8CB.
Trong tương lai gần, chúng tôi đang lên kế hoạch cải tiến theo ba hướng. Cách đầu tiên là tối ưu hóa các tính toán của chúng tôi khi sử dụng bản chất. Hiện tại, các tính toán của chúng tôi được thực hiện cho SIMD 64 bit, nhưng Elbrus-8CB có SIMD 128 bit. Cải tiến thứ hai sẽ được thực hiện bởi nhóm MCST. Đã có những phát triển đang được tiến hành hỗ trợ phép biến đổi Fourier rời rạc hai chiều và một chiều cho vectơ đầu vào không phải là lũy thừa của hai. Vì nó chưa sẵn sàng, chúng tôi đã sử dụng thư viện ffts với một chút tinh chỉnh được thực hiện cho cả nền tảng Elbrus và nền tảng x86.
Để đánh giá khả năng tăng tốc của chương trình, chúng tôi đã đo thời gian hoạt động của biến đổi Fourier rời rạc được thực hiện trên bộ xử lý Elbrus-8CB cho ma trận phức hợp đầu vào có kích thước 512 x 512. Thư viện ffts không được tối ưu hóa cho Elbrus đã thực hiện điều này hoạt động trong 27 mili giây và thư viện EML thực hiện thao tác tương tự chỉ trong 5,5 mili giây. Chúng tôi đã tăng tốc thư viện ffts bằng cách gọi đến thư viện EML. Các phép đo trong Bảng 2 được thực hiện sau khi tối ưu hóa này. Chúng tôi có thể đưa ra kết luận rằng nếu tối ưu hóa được thực hiện kỹ lưỡng như thư viện tệp eml được thực hiện, thì thuật toán DFR trên nền tảng Elbrus vẫn có thể được tăng tốc 2,5 lần.
Và cuối cùng nhưng không kém phần quan trọng là cải tiến liên quan đến thuật toán HFBP dựa trên việc sử dụng phép biến đổi Hough. Biến đổi này chưa được trình bày trong thư viện EML và phiên bản của chúng tôi chỉ được tối ưu hóa với sự trợ giúp của các phép toán vectơ. Vì thuật toán này hiệu quả hơn về mặt tính toán so với DFT (kết luận lý thuyết của chúng tôi và phiên bản được tối ưu hóa cho nền tảng x86_64 chứng minh điều đó), nên nó cũng có thể được tăng tốc thêm vài lần. Chúng tôi chắc chắn sẽ nói về kết quả của những tối ưu hóa này vào lần tới.
Đây là video hứa hẹn về màn trình diễn của chương trình trên Elbrus-8CB.
Smart Tomo Engine - work of the program on the Elbrus-8SV processor
Smart Tomo Engine - работа программы на процессоре Эльбрус-8СВ
Ở đây, hãy xem thế giới bên trong của một con bọ may vá (maybug ) trông như thế nào.
Smart Tomo Engine - томографическая реконструкция майского жука
Phần kết luận
Trong bài viết này, chúng tôi đã giới thiệu sản phẩm mới của mình - phần mềm để tái tạo hình ảnh chụp cắt lớp có tên là Smart Tomo Engine:
—Bao gồm thuật toán cải tiến HFBP luôn hoạt động tốt hơn thuật toán DFR, thuật toán dẫn đầu trong quá khứ;
—Hỗ trợ các hệ điều hành: OS Elbrus, MS Windows, macOS, các bản phân phối Linux khác nhau;
—Hỗ trợ các kiến trúc bộ xử lý sau: Elbrus, x86, x86_64;
—Là một sự phát triển độc quyền của Nga;
—Là một phần của phức hợp phần mềm và phần cứng của nền tảng Elbrus, nó có thể được sử dụng bởi bất kỳ máy quét y tế hoặc công nghiệp thuộc bất kỳ thế hệ nào, bằng các máy chụp cắt lớp nano mới nhất (các thiết bị tái tạo lại các đối tượng với độ phân giải submicron) và các cơ sở đồng bộ hóa như ổn.
Nhưng kết quả chính của bài viết này là sự kết hợp của bộ xử lý Elbrus do Nga sản xuất và chương trình Smart Tomo Engine là đủ cho việc chụp cắt lớp thời gian thực, ngay cả khi không có các cải tiến bổ sung đang được phát triển!
PS Chúng tôi không thể cưỡng lại và đo hiệu suất UNet trên nền tảng Elbrus. UNet là một kiến trúc mạng nơ-ron (neural network) nổi tiếng được sử dụng để giải quyết các vấn đề về phân đoạn. Ban đầu, UNet được thiết kế để giải quyết các vấn đề về phân đoạn trong lĩnh vực y tế, và bây giờ các hình ảnh chụp cắt lớp được xử lý bằng phương pháp mạng thần kinh này được sử dụng để xác định bệnh lý và khối u. Các phần phức tạp về mặt tính toán của mạng nơ-ron được thực hiện thông qua thư viện EML và thư viện EML được tối ưu hóa cho các thế hệ khác nhau của nền tảng Elbrus. Đó là lý do tại sao việc đánh giá hiệu suất thực tế của các bộ vi xử lý khác nhau bằng cách sử dụng các phép đo này trở nên dễ dàng hơn. Các phép đo được thực hiện cho một lõi, không có song song. Bằng cách đó không cần quan tâm đến số lượng lõi.
Hãy nhìn vào hai số cuối cùng. Làm thế nào gọn gàng là vậy? Và nghiên cứu của chúng tôi đang tiếp tục…
Tham khảo
[1]
https://en.wikipedia.org/wiki/History_of_computed_tomography
[2] AC Kak, M. Slaney, G. Wang. “Các nguyên tắc của hình ảnh chụp cắt lớp vi tính”, Vật lý Y tế, 2002, tập. 29, №1, trang 107-107.
[3] F. Natterer. “Tái tạo Fourier trong chụp cắt lớp”, Numerische Mathematik, 1985, vol. 47, №3, trang 343-353.
[4] A. Dolmatova, M. Chukalina và D. Nikolaev. “Fbp tăng tốc để tái tạo hình ảnh chụp cắt lớp điện toán”, IEEE ICIP 2020, Washington, DC, United States, IEEE Computer Society, 2020, sẽ được xuất bản.
[5] А. В. Долматова, Д. П. Николаев. “Ускорение свертки и обратного проецирования при реконструкции томографических итнображененсы, 2020, ений”, С 34, №1, c. 64-71, doi: 10.31857 / S0235009220010072.
[6] K. Bulatov, M. Chukalina, A. Buzmakov, D. Nikolaev và VV Arlazarov, “Monitored Reconstruction: Computed Tomography as an Anytime Algorithm”, IEEE Access, 2020, vol. 8, trang 110759-110774, doi: 10.1109 / ACCESS.2020.3002019.