Chương 1: Tổng quan - Giới thiệu về lý do chọn để tài đặt ra những mục tiêu, thách thức, phạm vi liên quan trong khi làm khóa luận. Chương 2: Trình bày tổng quát các hướng tiếp cận có thể giải quyết bài toán xác định vị trí điểm bất thường trên ảnh X-quang ngực. Chương 3: Trình bày các kiến thức cơ bản về CNN, RetinaNet, Yolo, Effi- cientNet, WBF. Chương 4: Trinh bay cách huấn luyện và dự đoán kết quả.
Chương 5: Thử nghiệm và đánh giá các mô hình thực hiện. Chương 6: Trình bày kết luận và hướng phát triển của đề tài. Chương 2 CƠ SỞ LÝ THUYÊT VÀ CÁC NGHIÊN CỨU LIÊN QUAN 2.1 Các mô hình máy học 2.1 Mô hình CNN Trí tuệ nhân tao (Artificial Intelligence) đã chứng kiến sự phát triển vượt bậc trong việc thu hẹp khoảng cách giữa khả năng của con người và máy móc. Các nhà nghiên cứu và những người đam mê đã làm việc trên nhiều khía cạnh của lĩnh vực này để tạo ra những điều tuyệt vời.
Một trong những khía cạnh như vậy đó là Computer Vision (Thị giác Máy tính). Mục tiêu của lĩnh vực này là cho phép máy móc nhìn thế giới giống như con người, nhận thức nó theo cách tương tự con người và thậm chí sử dụng kiến thức đó cho vô số nhiệm vụ như nhận dạng hình ảnh video, phân tích phân loại hình ảnh, giải trí truyền thông, hệ thống khuyến nghị (recommendation system), xử lý ngôn ngữ tự nhiên (natural language processing), v. Những tiến bộ trong Thị giác Máy tính với Học sâu (Deep learning) đã được xây dựng va hoàn thiện theo thời gian, chủ yếu qua một thuật toán cụ thể - Mạng nơron tích chập (Convolutional Neural Network). CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN Mạng nơ-ron tích chập (còn gọi là ConvNet / CNN) là mạng nơ-ron phổ biến nhất được dùng cho bài toán xử lí ảnh.
Bên cạnh các lớp fully connected, mạng nơ-ron tích chập còn bao gồm các lớp ẩn đặc biệt (hidden layer) giúp phát triển và trích xuất các đặc trưng xuất hiện trong ảnh được gọi là lớp tích chập (convolutional layer). Chính những lớp tích chập này làm mạng nơ-ron trở nên khác biệt so với mạng nơ-ron truyền thống và tạo ra hiệu quả cao trong bài toán El — BICYCLE ~~ INPUT CONVOLUTION + RELU POOLING CONVOLUTION + RELU POOLING FLATTEN FULLY SOFTMAX we J CONNECTED FEATURE LEARNING CLASSIFICATION Hinh 2.1: M6 hinh mang CNN Về mặt kỹ thuật mỗi ảnh đầu vào sẽ chuyển qua một loạt các lớp tích chập với các bộ lọc, Pooling, lớp FC và áp dụng hàm Softmax để phân loại một đối tượng với các giá trị xác suất giữa 0 va 1. « Lớp/tầng tích chập (Conv layer) là lớp đầu tiên để trích xuất các đặc trưng từ một ảnh đầu vào. Lớp Conv duy trì mối quan hệ giữa các pixel bằng cách học các đặc trưng ảnh.
Đây là một phép toán học có hai đầu vào: ma trận hình ảnh và bộ lọc/hạt nhân. « Lép/tang pooling là một phép downsampling, thường được sử dung sau tầng tích chập, làm giảm số lượng tham số khi ảnh quá lớn nhưng vẫn giữ được thông tin quan trong (tính bat biến không gian). Max pooling sẽ lấy 2. CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN giá trị lớn nhất trong khu vực nó đang được sử dụng còn average pooling tính trung bình các giá trị trong khu vực nó đang được sử dụng.
« Lớp/tầng kết nối đầy đủ còn gọi là lớp FC, sau khi làm phẳng ma trận thành một vectơ, ta đưa nó vào lớp FC. Trong các mô hình mang CNN, các tầng FC thường được tìm thấy ở cuối mạng.2 Mô hình RetinaNet RetinaNet là một kiến trúc mạng được trình bày vào 1/2018 với tựa đề Focal Loss for Dense Object Detection, nhóm tác giả Tsung-Yi Lin, Priya Goyal, Ross Girshick, Kaiming He and Piotr Dollar của FAIR (Facebook AI research). Reti- naNet là một mô hình giải quyết được van đề mắt cân bằng trong phân phối giữa foreground và background trong các bài toán one-stage detection bằng cách sử dụng focal loss thay cho cross entropy.1 Cấu trúc mô hình RetinaNet Kiến trúc mạng RetinaNet bao gồm backbone và hai mạng con với hai nhiệm vụ riêng biệt. Backbone sẽ chịu nhiệm vụ tính toán convolution feature map trên toàn bộ hình ảnh đầu vào.
Mạng con đầu tiên( Classication Subnet) thực hiện phân loại đối tượng thuộc lớp nào, còn mạng con thứ hai( Box Regression Subnet) thực hiện hồi quy bounding box thể hiện vị trí của đối tượng. Kiến trúc đầy đủ của mạng RetinaNet được trình bày ở hình sau: 2. CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN (a) ResNet (b) feature pyramid net {c) class subnet (top) (d] box subnet (bottom) Hình 2.2: Cấu trúc mô hình RetinaNet 2.2 Pyramid Network Backbone Là một feature extractor kết hợp giữa ResNet và Feature Pyramid Network có tác dụng rút trích đặc trưng và trả về các feature map. Feature Pyramid Network Sẽ tạo ra một multi-head dạng kim tự tháp.
Bottom-Up Pathway 10 2. CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN ¢ Nhánh Bottom- up là một mang Convolution Neural Network g1úp tao ra pyramid level các feature map theo kích thước giảm dần. Những feature map này sẽ được kết hợp với feature map cùng cấp nhánh Top Down. ¢ Nhánh Top-Down: Là một mạng upscaling các feature map theo kích thước nhân 2.
Như vậy mỗi một level của nhánh bên phải sẽ kết hợp với một level ở nhánh bên trái có cùng kích thước thông qua một phép cộng element- wise additional (cộng các phần tử ở cùng vị trí với nhau). Trước khi thực hiện phép cộng thì level nhánh bên trái được tích chập với feature map 1x1 để giảm thiểu chiều sâu (số channel). Mỗi một phép cộng sẽ trả ra một merge map như các 6 predict trong hình.3 Mô hình YOLOv§5 2.1 Sơ lược về YOLO YOLO là một thành viên trong họ mô hình object detection. Là một mô hình mạng CNN cho việc phát hiện và nhận dạng đối tượnG.
YOLO được tạo ra từ việc kết hợp giữa các convolutional layer và full connected layer. Trong đó các convolutional layer sẽ trích xuất ra các đặc trưng của ảnh, còn full connected layer sẽ dự đoán ra xác suất đó và tọa độ của đối tượng. YOLO được phát triển qua nhiều phiên bản và các phiên bản sau đang dần trở nên tối ưu hơn và hoạt động tốt hơn những phiên bản trước. YOLOv1 được ra mắt vào tháng 5 năm 2016 bởi Joseph Redmon, nó là sự phát triển rất lớn cho các bài toán real-time object detection.
Tới thang 12 năm 2017 thì Joseph introduced tiếp tục công bố một version khác của YOLO, nó được biết đến với tên gọi là YOLO9000. Sau đó chưa đầu một năm đến tháng 4 năm 2018, một phiên bản mong đợi nhất của YOLO đã được ra mắt với tên gọi YOLOv3. Đúng 2 năm sau Alexey Bochkovskiy đã giới thiệu YOLOv4. YOLOv4 được giới thiệu với những điều vô cùng đánh kinh ngạc , nó vượt trội hơn YOLOv3 với tốc độ 11 2.
CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN cũng như độ chính xác trung bình một cách đáng kể. Sau đó vài ngày thì Glenn Jocher đã phát hành YOLOv5. YOLOVS thể hiện sự vượt trội của minh so với các phiên bản trước qua mô hình EfficientNet trung gian, và được thể hiện qua các ảnh sau dựa trên chỉ số độ chính xác và tốc độ của mô hình khi cũng đánh giá trên tập dữ liệu COCO: MS COCO Object Detection EfficientDet (D0-D4) real-time VOLOyv4 (ours) ASI E* AP = —*®>—YDLOv4 (ours) =®=YOL.4: EfficientDet tốt hơn và nhanh hơn YOLOv3 và YOLOv4 12 2. CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN ss Better 50 3 e — 45 o > e a Ss 401 , 5 =—e— YOLOv5n O 35 if =e— YOLOv5s —e— YOLOv5m —e YOLOvB5| 30 4 —e— YOLOv5x Ỉ e— EfficientDet 254 r r 0 10 20 30 40 50 Faster Ế———— GPu Speed (ms/img) Hình 2.5: YOLOv§ tốt hơn va nhanh hơn EfficientDet YOLOv5 có nhiều phiên bản khác nhau như YOLOv5n, YOLOv5s, YOLOv5m, YOLOv5I, YOLOv5x, lần lượt ứng với Nano, Small, Medium, Large và Xlarge.
Sở di có những tên như vậy là dựa vào số lượng tham số khác nhau của mô hình. Xem hình sau để thay chi tiết hơn các số liệu thu được khi thực hiện huấn luyện trên tập dữ liệu COCO. CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN Speed Speed Speed : I I Model size mAP* mAPY# CPU bt VI00DI VI00b32 PArams FLOPs (pixels) 0.6: Số liệu khi train các phiên bản YOLOv5 Thông qua bảng số liệu ta có thể thấy, số lượng tham số càng lớn thì kết quả mAP thu được sẽ càng tốt.2 Cấu trúc của YOLOVS Backbone của mô hình là một mang cơ sở lấy hình ảnh đầu vào và trích xuất đặc trưng từ nó. Đây là một yếu tố quan trọng trong bất kỳ mô hình nhận dạng đối tượng nào, vì nó là cau trúc chính chịu trách nhiệm trích xuất thông tin ngữ cảnh từ hình ảnh đầu vào cũng như để trừu tượng hóa thông tin đó thành các mau(ref).
Và backbone của YOLOv5 cũng như các phiên bản trước, bao gồm các convolutional layer. Neck’ là cấu trúc được đặt giữa *head’ va backbone (xem hình dưới) với nhiệm vụ là tổng hợp nhiều thông tin được trích xuất bởi backbone càng tốt trước khi nó được đưa ra phần ’head’ để nhận dạng. CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN Backbone: CSPDarknet Neck: PANet Head: Yolo Layer Hình 2.7: Cấu trúc cơ ban của YOLOv5 2.4 Mô hình EfficientNet 2.1 So lược về EfficientNet Mang Convolutional Neural Network (CNN) đã trở nên phổ biến trong lĩnh vực Thị Giác Máy Tinh và cũng được áp dụng rất nhiều trong xử lý ngôn ngữ tự nhiên. Tuy nhiên, một trong các van dé quan trọng trong việc thiết kế mang CNN hay các mạng nơ-ron nói chung là Model Scaling (mở rộng mô hình) - tăng hoặc giảm kích thước của mô hình để thu được kết quả tốt nhất.
Đây là quá trình đòi hỏi thử đi thử lại nhiều lần để có được mô hình đủ chính xác và thỏa mãn tài nguyên hệ thống. Quá trình này tốn thời gian, công sức và thường tạo ra 15 2. CƠ SỞ LÝ THUYẾT VÀ CÁC NGHIÊN CỨU LIÊN QUAN mô hình không phải là tối ưu nhất. Nam 2019 nhóm tác gia Mingxing Tan và Quoc V.
Le đã phát hành bài báo liên quan tới họ CNN mới - EfficientNet. Mô hình CNN nay không chỉ làm cho mô hình có kết quả tốt mà còn cải thiện hiệu suất của mô hình bằng cách giảm số lượng tham số và FLOPS so với các mô hình hiện đại như GPipe.2 Scaling là gi Có ba kích thước của một mang CNN: chiều sâu (depth), chiều rộng (width) và độ phân giải (resolution). * Depth là độ sâu của mạng, tương đương với số lớp (layer) trong đó. « Width là độ rộng của mạng.
Ví dụ:một thước đo chiều rộng là số kênh trong lớp Conv.