Chương 3. BỘ DỮ LIỆU ISIC 2020
3.1. Tổng quan
Bộ dữ liệu ISIC 2020 chứa 33,126 hình ảnh nội soi da của các tổn thương do u lành tính và ác tính từ hơn 2,000 bệnh nhân. Tất cả các chuẩn đốn ác tính đã được xác nhận thơng qua mơ bệnh học và các chuẩn đốn lành tính đã được xác nhận bằng thỏa thuận của chuyên gia, theo dõi định kỳ hoặc mô bệnh học.
Bộ dữ liệu này được tạo bởi International Skin Imaging Collaboration (ISIC) và hình ảnh được lấy từ các nguồn: Bệnh viện Clínic de Barcelona, Đại học Y khoa Vienna, Trung tâm Ung thư Memorial Sloan Kettering, Viện Ung thư hắc tố Úc, Đại học Queensland và Đại học Athens Medical School...
Bộ dữ liệu đã được tuyển chọn cho cuộc thi phân loại khối u ác tính SIIM-ISIC được tổ chức tại Kaggle vào mùa hè năm 2020.
3.2. Mô tả bộ dữ liệu
Bộ dữ liệu ISIC 2020 chứa các hình ảnh được cung cấp ở định dạng DICOM. Các hình ảnh có thể được truy cập bằng các thư viện thường có sẵn như pydicom và chứa cả hình ảnh và siêu dữ liệu. DICOM là một định dạng dữ liệu hình ảnh y tế được sử dụng phổ biến.
Hình ảnh cũng được cung cấp ở định dạng JPEG và TFRecord (trong thư mục jpeg và tfrecords, tương ứng). Hình ảnh ở định dạng TFRecord đã được thay đổi kích thước thành 1024x1024 đồng nhất. Bộ dữ liệu này được chia thành 2 tập: Training set (33,126 ảnh) và Testing set (10,982 ảnh).
Bộ dữ liệu ISIC 2020 được gán nhãn nhị phân cho mỗi hình ảnh, tương ứng 0 là biểu thị cho lành tính và 1 là biểu thị cho ác tính.
Các thuộc tính của bộ dữ liệu:
• image_name: định danh duy nhất, trỏ đến tên tệp của hình ảnh DICOM liên quan.
• patient_id: mã định danh bệnh nhân duy nhất.
• sex: giới tính của bệnh nhân (khi khơng xác định, sẽ để trống).
• age_approx: tuổi gần đúng của bệnh nhân tại thời điểm chụp ảnh.
• anatom_site_general_challenge: vị trí của khối u trên bộ phận cơ thể được chụp ảnh.
• diagnosis: thơng tin chẩn đốn chi tiết.
• benign_malignant: chỉ số về độ ác tính của tổn thương.
• target: phiên bản nhị phân của biến target.
3.3. Phân bố dữ liệu
Nhóm đã thống kê số lượng theo một số thuộc tính nổi bật (lành tính/ác tính, giới tính, độ tuổi) và trực quan lên các hình bên dưới.
Các trường hợp lành tính là 31,956 và các trường hợp u ác tính là 575.
Hình 3.2 Thống kê theo loại u trong bộ dữ liệu ISIC 2020. Có 15,743 bệnh nhân nữ trong bộ dữ liệu và 16,788 bệnh nhân nam. Có 15,743 bệnh nhân nữ trong bộ dữ liệu và 16,788 bệnh nhân nam.
Có 358 trường hợp nam ác tính so với 217 trường hợp nữ.
Hình 3.4 Thống kê loại u theo giới tính trong bộ dữ liệu ISIC 2020.
Độ tuổi trung bình của các bệnh nhân trong bộ dữ liệu là 49 và độ tuổi chiếm tỉ lệ cao nhất là từ 51 đến 60. Độ tuổi trong biểu đồ là hệ số 10 và độ tuổi được làm
trịn chục.
Hình 3.6 Thống kê dữ liệu theo vị trí khối u trên cơ thể bệnh nhân. Chú thích: Chú thích:
• head/neck: đầu hoặc cổ của bệnh nhân.
• upper extremity: hai cánh tay của bệnh nhân.
• tower extremity: hai chân của bệnh nhân.
• torso: phần thân (khơng có tứ chi và đầu/cổ) của bệnh nhân.
• palms/soles: lịng bàn tay/chân của bệnh nhân.
• oral/genital: miệng hoặc bộ phận sinh dục của bệnh nhân.
3.4. Biểu đồ về cường độ điểm ảnh
Hình 3.7 Ví dụ biểu đồ về cường độ điểm ảnh khối u lành tính. Kích thước hình ảnh: (4000, 6000).
Giá trị điểm ảnh tối đa: 255.0; Giá trị điểm ảnh tối thiểu: 0,0. Giá trị trung bình của các điểm ảnh: 169,9; Độ lệch chuẩn: 41,3.
Thuộc tính Giá trị image_name ISIC_2637011 patient_id IP_7279968 sex male age_approx 45 anatom_site_general_challenge head/neck diagnosis unknown benign_malignant benign target 0 image_path /kaggle/input/siim-isic-melanoma-classificatio... age_bin 5
Hình 3.8 Ví dụ biểu đồ về cường độ điểm ảnh khối u ác tính. Kích thước hình ảnh: (4000, 6000).
Giá trị điểm ảnh tối đa: 255.0; Giá trị điểm ảnh tối thiểu: 0,0. Giá trị trung bình của các điểm ảnh: 174,9; Độ lệch chuẩn: 36,9.
Thuộc tính Giá trị
image_name ISIC_0149568
patient_id IP_0962375
sex female
age_approx 55
anatom_site_general_challenge upper extremity
Chương 4. PHƯƠNG PHÁP CƠ SỞ
4.1. Phân loại đối tượng
Trong đồ án này, nhóm sử dụng một số mơ hình phân loại: EfficientNetB6, VGG16, ResNet152V2, InceptionResNetV2 và InceptionV3.
Trong đó, các mơ hình ResNet152V2, InceptionResNetV2, InceptionV3 là các mơ hình mới với độ chính xác cao. Đồng thời, các mơ hình này đều được tích hợp trong Keras của Tensorflow. Mặt khác, EfficientNetB6 và VGG16 là hai mơ hình được áp dụng trong một số nghiên cứu về xác định ung thư da trước đó. Vì vậy, nhóm lựa chọn các mơ hình này để áp dụng trên bộ dữ liệu ISIC-2020.
4.1.1. EfficientNetB6
Hình 4.1 Các mơ-đun được sử dụng để tạo kiến trúc EfficentNet. Chú thích:
• Mơ-đun 1: Được sử dụng làm điểm bắt đầu cho các khối con.
• Mơ-đun 2: Được sử dụng làm điểm bắt đầu cho khối con đầu tiên của tất cả 7 khối chính ngoại trừ khối thứ nhất.
• Mơ-đun 3: Được kết nối dưới dạng kết nối bỏ qua với tất cả các khối con.
• Mơ-đun 4: Được sử dụng để kết hợp kết nối bỏ qua trong các khối con đầu tiên.
• Mơ-đun 5: Mỗi khối con được kết nối với khối con trước của nó trong một kết nối bỏ qua và chúng được kết hợp bằng cách sử dụng mô-đun này. Các mô-đun này được kết hợp thêm để tạo thành các khối con sẽ được sử dụng theo một cách nhất định trong các kiến trúc chính.
Hình 4.2 Các khối con Chú thích:
• Khối con 1: Khối này chỉ được sử dụng làm khối con đầu tiên trong khối đầu tiên.
• Khối con 2: Đây được sử dụng làm khối con đầu tiên trong tất cả các khối khác.
• Khối con 3: Khối này được sử dụng cho bất kỳ khối con nào ngoại trừ khối đầu tiên trong tất cả các khối.
Hình 4.3 Kiến trúc mơ hình EfficientNetB6.
4.1.2. VGG16
Mạng VGG, á quân của cuộc thi ILSVRC-2014, được đặc trưng bởi cấu trúc mạng sâu với bộ lọc chập nhỏ 3 × 3 so với mơ hình tiền nhiệm của nó, AlexNet. Nhóm VGG-VD đã giới thiệu sáu CNN chuyên sâu trong cuộc thi, trong đó có hai CNN thành cơng hơn những CNN khác, đó là VGG16 và VGG19.
VGG16 (Visual Geometry Group 16) bao gồm 13 lớp chập và ba lớp được kết nối đầy đủ. Mơ hình sử dụng một chồng các bộ lọc tích chập nhỏ 3 × 3 với bước 1, được theo sau bởi nhiều lớp phi tuyến tính (xem Hình 4.2). Điều này làm tăng độ sâu của mạng và góp phần học hỏi các tính năng phức tạp hơn. Kết quả ấn tượng của VGG cho thấy độ sâu của mạng là một yếu tố quan trọng để có được độ chính xác phân loại cao.
Hình 4.4 Kiến trúc mơ hình của VGG16.
lớp trọng lượng. Trong lĩnh vực nhận dạng hình ảnh và các nhiệm vụ bản địa hóa, ResNet có hiệu suất mạnh mẽ chứng tỏ tầm quan trọng của nhiều nhiệm vụ nhận dạng trực quan.
4.1.4. InceptionResNetV2
Hình 4.6 Kiến trúc mơ hình của InceptionResNetV2.
Mạng này được xây dựng bằng cách tích hợp hai CNN chun sâu thành cơng nhất, ResNet và Inception, trong đó chuẩn hóa hàng loạt chỉ được sử dụng trên đầu các lớp truyền thống, thay vì trên đầu các bản tóm tắt. Đặc biệt, các mơ-đun cịn lại được sử dụng để cho phép tăng số lượng khối Inception và do đó, tăng độ sâu của mạng. Như đã đề cập trước đó, vấn đề rõ ràng nhất liên quan đến các mạng rất sâu là giai đoạn huấn luyện, có thể được giải quyết bằng cách sử dụng các kết nối còn lại. Mạng giảm tỷ lệ phần dư là một cách tiếp cận hiệu quả để giải quyết vấn đề đào tạo khi một số lượng lớn bộ lọc (lớn hơn 1,000 bộ lọc) được sử dụng trong mạng. Cụ thể, các biến thể cịn lại gặp phải sự cố khơng ổn định và mạng không thể được đào tạo khi số lượng bộ lọc vượt quá 1,000. Do đó, việc mở rộng phần dư góp phần ổn định đào tạo mạng. Hình 4.5 minh họa dạng xem nén của InceptionResNetV2 được sử dụng trong nghiên cứu này.
4.1.5. InceptionV3
Hình 4.7 Kiến trúc mơ hình của InceptionV3.
GoogleNet, người chiến thắng trong phân loại và theo dõi phát hiện của cuộc thi ILSVRC-2014, là một trong những thế hệ CNN không tuần tự đầu tiên. Trong mạng này, cả chiều sâu (tức là số lượng cấp độ) và chiều rộng (tức là số lượng đơn vị ở mỗi cấp độ), đều được tăng lên mà khơng gây ra căng thẳng tính tốn. GoogleNet được phát triển dựa trên ý tưởng rằng một số kết nối giữa các lớp không hiệu quả và có thơng tin dư thừa do mối tương quan giữa chúng. Theo đó, nó sử dụng “Mơ-đun Inception”, một CNN thưa thớt, với 22 lớp trong quy trình xử lý song song và được hưởng lợi từ một số bộ phân loại phụ trợ trong các lớp trung gian để cải thiện khả năng phân biệt ở các lớp thấp hơn. Trái ngược với các CNN thông thường như AlexNet và VGG, trong đó hoạt động tích hợp hoặc tổng hợp có thể được sử dụng ở mỗi cấp, mơ-đun Inception có thể được hưởng lợi từ cả hai ở mỗi lớp. Hơn nữa, các bộ lọc (phức hợp) với các kích thước khác nhau được sử dụng ở cùng một lớp, cung
tính phi tuyến tính bằng cách sử dụng ReLU sau mỗi lớp chập 1 × 1. Trong mạng này, các lớp được kết nối đầy đủ được thay thế bằng một lớp gộp trung bình. Điều này làm giảm đáng kể số lượng tham số vì các lớp được kết nối đầy đủ bao gồm một số lượng lớn các tham số. Do đó, mạng này có thể tìm hiểu các đại diện sâu hơn của các tính năng với ít tham số hơn so với AlexNet trong khi nó nhanh hơn nhiều so với VGG. Hình 4.6 minh họa khung nhìn nén của InceptionV3 được sử dụng trong nghiên cứu này.
4.2. Mơ hình kỳ vọng
Như mơ tả ở trên, mơ hình InceptionResNetV2 là mơ hình được kết hợp tinh tuý của InceptionV3 và ResNet. Đây là mơ hình được kỳ vọng có kết quả cao nhất.
Chương 5. THỰC NGHIỆM VÀ KẾT QUẢ
5.1. Cài đặt thực nghiệm
Nhóm sử dụng bộ dữ liệu ISIC 2020 được chia thành 2 tập con: training (33,126 ảnh) và testing (10,980 ảnh) như đã đề cập. Tồn bộ q trình thực nghiệm được thực hiện trên TPU v3-8 REPLICAS: 8 của Kaggle. Với mỗi model, nhóm đã sử dụng config “256: 13, 384: 15, 512: 15, 768: 15”, ảnh với độ phân giải 256x256 trong 13 epoch và các độ phân giải còn lại trong 15 epoch.
5.2. Chỉ số đánh giá
5.2.1. Area Under The Curve (AUC)
AUC - ROC là một phương pháp tính tốn hiệu suất của một mơ hình phân loại theo các ngưỡng phân loại khác nhau. Giả sử với bài toán phân loại nhị phân (2 lớp) sử dụng hồi quy logistic (logistic regression), việc chọn các ngưỡng phân loại [0...1] khác nhau sẽ ảnh hưởng đến khả năng phân loại của mơ hình và ta cần tính tốn được mức độ ảnh hưởng của các ngưỡng. AUC là từ viết tắt của Area Under The Curve còn ROC viết tắt của Receiver Operating Characteristics. ROC là một đường cong biểu diễn xác suất và AUC biểu diễn mức độ phân loại của mơ hình. AUC-ROC cịn được biết đến dưới cái tên AUROC (Area Under The Receiver Operating Characteristics). Ý nghĩa của AUROC có thể diễn giải như sau: Là xác suất rằng một mẫu dương tính được lấy ngẫu nhiên sẽ được xếp hạng cao hơn một mẫu âm tính được lấy ngẫu nhiên.
5.2.2. Precision
Precision trả lời cho câu hỏi trong các trường hợp được dự báo là positive thì có bao nhiêu trường hợp là đúng ? Và tất nhiên precision càng cao thì mơ hình của chúng ta càng tốt trong việc phân loại hồ sơ BAD (BAD chính là nhóm positive). Cơng thức của precision như sau:
Precision sẽ cho chúng ta biết mức độ chuẩn xác của mơ hình đối với các hồ sơ được dự báo là BAD. Ví dụ khi precision = 52.4%, chúng ta tin rằng trong các hồ sơ được dự báo là BAD thì có 52.4% tỷ lệ các hồ sơ được phân loại đúng.
Precision = 𝑇𝑃
total predicted positive=
𝑇𝑃 𝑇𝑃 + 𝐹𝑃
Cũng có ý nghĩa gần tương tự như precision, có cùng tử số nhưng có một chút khác biệt về mẫu số trong cơng thức tính tốn, và cũng là một chỉ số giúp đo lường hiệu suất dự báo trên nhóm positive, đó là recall.
5.2.3. Recall
Recall đo lường tỷ lệ dự báo chính xác các trường hợp positive trên tồn bộ các mẫu thuộc nhóm positive. Công thức của recall như sau:
Recall = 𝑇𝑃
total actual positive =
𝑇𝑃 𝑇𝑃 + 𝐹𝑁
Để tính được recall thì chúng ta phải biết trước nhãn của dữ liệu. Do đó recall có thể được dùng để đánh gía trên tập train và validation vì chúng ta đã biết trước nhãn. Trên tập test khi dữ liệu được coi như mới hoàn toàn và chưa biết nhãn thì chúng ta sẽ sử dụng precision.
5.3. Phân tích
5.3.1. EfficientNetB6
Sau khi sử dụng mơ hình EfficientNetB6 để giải quyết bài tốn Xác định ung thư da thơng qua tập dữ liệu hình ảnh, nhóm đã trích xuất được tổng số đặc trưng là
40.962.441, trong đó có 40.738.009 đặc trưng đó thể dùng để huấn luyện và 224.432 đặc trưng không thể huấn luyện. Kết quả thu được sau 40 epochs như hình bên dưới:
Hình 5.1 Kết quả training của mơ hình EfficentNetB6.
Nhìn chung, kết quả thực nghiệm với mơ hình EfficientNetB6 đạt kết quả tốt với các chỉ số sau cùng: loss: 0.1480 - auc: 0.9559 - precision: 0.8023 - recall: 0.3526. Có thể thấy rõ mơ hình hội tụ và hầu như kết quả của mơ hình khơng cải thiện thêm tại epoch 20. Mặt khác, mơ hình cũng chưa bị tình trạng overfit. Chỉ số loss khơng có thay đổi gì nhiều từ epoch 2.
5.3.2. VGG16
Sau khi sử dụng mơ hình VGG16 để giải quyết bài tốn Xác định ung thư da thơng qua tập dữ liệu hình ảnh, nhóm đã trích xuất được tổng số đặc trưng là 14.715.201, trong đó tồn bộ có thể dùng để huấn luyện. Kết quả thu được sau 40 epochs như hình bên dưới:
Hình 5.2 Kết quả training của mơ hình VGG16.
Nhìn chung, kết quả thực nghiệm với mơ hình VGG16 đạt kết quả tốt với các chỉ số sau cùng: loss: 0.1593 - auc: 0.9139 - precision: 0.8182 - recall: 0.0776. Có thể thấy rõ mơ hình đạt đỉnh tại epoch 27 và hầu như không cải thiện sau epoch này. Mặt khác, mơ hình cũng chưa bị tình trạng overfit. Chỉ số loss giảm mạnh từ epoch 2 và từ đó cũng hầu như khơng có thay đổi. Chỉ số precision tăng mạnh tại epoch 15.
5.3.3. ResNet152V2
Sau khi sử dụng mơ hình ResNet152V2 để giải quyết bài toán Xác định ung thư da thơng qua tập dữ liệu hình ảnh, nhóm đã trích xuất được tổng số đặc trưng là 58.333.697, trong đó có 58.189.953 đặc trưng có thể dùng để huấn luyện mơ hình. Kết quả thu được sau 40 epochs như hình bên dưới:
Hình 5.3 Kết quả training của mơ hình ResNet152V2.
Nhìn chung, kết quả thực nghiệm với mơ hình ResNet152V2 đạt kết quả tốt với các chỉ số sau cùng: loss: 0.1365 - auc: 0.9806 - precision: 0.8730 - recall: 0.5872. Có thể thấy rõ mơ hình hội tụ tại epoch 24 và hầu như không cải thiện sau epoch này. Mặt khác, mơ hình cũng chưa bị tình trạng overfit. Chỉ số loss giảm mạnh từ epoch 2 và từ đó cũng hầu như khơng có thay đổi. Các chỉ số precision và recall ổn định và tăng dần bắt đầu từ epoch 8.
5.3.4. InceptionResNetV2
Sau khi sử dụng mơ hình InceptionResNetV2 để giải quyết bài tốn Xác định ung thư da thơng qua tập dữ liệu hình ảnh, nhóm đã trích xuất được tổng số đặc trưng là 54.338.273, trong đó có 54.277.729 đặc trưng có thể dùng để huấn luyện mơ hình. Kết quả thu được sau 40 epochs như hình bên dưới:
Hình 5.4 Kết quả training của mơ hình InceptionResNetV2.