1. Trang chủ
  2. » Giáo Dục - Đào Tạo

đề tài phân tích da mặt sử dụng học sâu và triển khai trên ứng dụng android

88 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Phân tích da mặt sử dụng học sâu và triển khai trên ứng dụng Android
Tác giả Trần Văn Bằng, Trần Minh Hiệp
Người hướng dẫn TS. Võ Lê Cường
Trường học Trường Đại học Bách Khoa Hà Nội
Chuyên ngành Điện-Điện tử
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 88
Dung lượng 17,94 MB

Cấu trúc

  • CHƯƠNG 1. CƠ SỞ LÝ THUYẾT (24)
    • 1.1. Giới thiệu về học sâu (24)
      • 1.1.1. Định nghĩa (24)
      • 1.1.2. Mô hình học sâu (24)
    • 1.2. CNN trong bài toán phát hiện đối tượng (28)
      • 1.2.1. Một số kiến trúc CNN trong bài toán phát hiện đối tượng (29)
      • 1.2.2. Ứng dụng CNN trong bài toán phát hiện đối tượng (30)
    • 1.3. CNN trong bài toán phân loại (30)
      • 1.3.1. Một số kiến trúc CNN trong bài toán phân loại (30)
      • 1.3.2. Ứng dụng CNN trong bài toán phân loại (31)
    • 1.4. CNN trong bài toán phân vùng (32)
      • 1.4.1. Một số kiến trúc CNN trong bài toán phân vùng (32)
      • 1.4.2. Ứng dụng CNN trong bài toán phân vùng (33)
    • 1.5. Tăng cường dữ liệu (33)
      • 1.5.1. Kỹ thuật tăng cường dữ liệu truyền thống (33)
    • 1.6. Kết luận (33)
  • CHƯƠNG 2. KHẢO SÁT VÀ PHÂN TÍCH CÁC MÔ HÌNH PHÁT HIỆN KHUÔN MẶT, PHÂN LOẠI, PHÂN VÙNG, TĂNG CƯỜNG DỮ LIỆU VÀ CÔNG CỤ XÂY DỰNG MÔ HÌNH AI TRÊN DI ĐỘNG (34)
    • 2.1. Tổng quan phát hiện khuôn mặt (34)
    • 2.2. Khảo sát phương pháp phát hiện khuôn mặt (34)
      • 2.2.1. Phương pháp truyền thống (34)
      • 2.2.2. Phương pháp dựa trên Deep Learing (35)
    • 2.3. Tổng quan phân loại và phân vùng các vấn đề da trên khuôn mặt (37)
    • 2.4. Khảo sát phương pháp phân loại và phân vùng các vấn đề da (37)
      • 2.4.1. Khảo sát phương pháp phân loại bệnh da (37)
      • 2.4.3. Khảo sát phương pháp phân loại sắc tố da, nếp nhăn và lỗ chân lông (40)
      • 2.4.4. Khảo sát mạng CNN phù hợp với mục tiêu bài toán (42)
    • 2.5. Khảo sát phương pháp tăng cường dữ liệu cho bài toán phân loại vấn đề da (43)
      • 2.5.1. Khảo sát phương pháp tăng cường dữ liệu truyền thống (43)
    • 2.6. Khảo sát các framework ứng dụng mô hình AI trên điện thoại di động (43)
      • 2.6.1. Pytorch Mobile (44)
      • 2.6.2. TFLite (44)
      • 2.6.3. NCNN (44)
      • 2.6.4. So sánh các framework (45)
    • 2.7. Kết luận (45)
  • CHƯƠNG 3. PHƯƠNG PHÁP ĐỀ XUẤT PHÂN LOẠI MỨC ĐỘ NGHIÊM TRỌNG, KHOANH VÙNG VÙNG DA CÓ VẤN ĐỀ DA (46)
    • 3.1. Tổng quan phương pháp đề xuất (46)
    • 3.2. Đề xuất phương pháp cho đề tài (47)
      • 3.2.1. Đề xuất phương pháp phát hiện khuôn mặt (47)
      • 3.2.2. Đề xuất phương án phân vùng khuôn mặt (48)
      • 3.2.3. Đề xuất phương pháp phân loại mức độ nghiêm trọng vấn đề da (50)
      • 3.2.4. Đề xuất phương pháp khoanh vùng vùng da có vấn đề (54)
    • 3.4. Kết luận (55)
  • CHƯƠNG 4. KẾT QUẢ VÀ ĐÁNH GIÁ (57)
    • 4.1. Thu thập dữ liệu (57)
    • 4.2. Các chỉ số đánh giá (57)
      • 4.2.1. Chỉ số đánh giá cho bài toán phân loại mức độ nghiêm trọng vấn đề da (57)
      • 4.2.2. Chỉ số đánh giá cho bài toán khoanh vùng những vùng da có vấn đề (58)
    • 4.3. Triển khai chi tiết (60)
      • 4.3.1. Gán nhãn dữ liệu cho bài toán phân loại (60)
      • 4.3.2. Gán nhãn dữ liệu cho bài toán phân vùng (khoanh vùng vùng da)43 4.3.3. Huấn luyện mô hình (64)
      • 4.3.4. Tối ưu siêu tham số sử dụng gird search (GS) (67)
    • 4.4. Kết quả và đánh giá (67)
      • 4.4.1. Đánh giá mô hình phát hiện khuôn mặt (68)
      • 4.4.2. Huấn luyện và đánh giá mô hình phân loại mức độ nghiêm trọng vấn đề da (69)
      • 4.4.3. Huấn luyện và đánh giá mô hình khoanh vùng những vùng da có vấn đề (70)
    • 4.5 Kết luận (71)
  • CHƯƠNG 5. XÂY DỰNG ỨNG DỤNG ANDROID PHÂN TÍCH DA MẶT SỬ DỤNG CÁC MÔ HÌNH ĐÃ HUẤN LUYỆN (72)
    • 5.1. Yêu cầu ứng dụng (72)
      • 5.1.1. Phân loại yêu cầu (72)
    • 5.2. Phân tích ứng dụng (72)
      • 5.2.1. Sơ đồ Use case (73)
      • 5.2.2. Biểu đồ Activity Diagram (75)
      • 5.2.3. Sequence Diagram (76)
    • 5.3. Thiết kế giao diện (78)
      • 5.3.1. Giao diện trang chủ (78)
      • 5.3.2. Giao diện thư viện ảnh (79)
      • 5.3.3. Giao diện chụp ảnh sử dụng camera (79)
      • 5.3.4. Giao diện kết quả (80)
    • 5.4. Triển khai và đánh giá ứng dụng (80)
      • 5.4.1. Chuyển đổi mô hình (80)
      • 5.4.2. Đánh giá kết quả mô hình phát hiện gương mặt (81)
      • 5.4.3. Đánh giá kết quả mô hình phân loại các vấn đề da mặt (81)
    • 5.5. Kết luận (82)
  • CHƯƠNG 6. KẾT LUẬN (0)
    • 6.1. Kết luận chung (0)
    • 6.2. Hướng phát triển..........................................................................................60 TÀI LIỆU THAM KHẢO (0)

Nội dung

Đồ án hướng đến việc xây dựng một ứngdụng Android sử dụng AI giải quyết bài toán phân loại mức các mức độ nghiêmtrọng đồng thời khoanh vùng vùng da có vấn đề cho từng vấn đề về da bao gồ

CƠ SỞ LÝ THUYẾT

Giới thiệu về học sâu

Học sâu là một nhánh của học máy và đóng vai trò quan trọng trong trí tuệ nhân tạo, bằng cách mô phỏng cách hoạt động của não bộ con người để xử lý dữ liệu và tạo ra các mẫu quyết định Với ứng dụng đa dạng trong kinh tế, y học, giáo dục và quân sự, học sâu dựa trên mạng nơ-ron nhân tạo đa lớp để tự động trích xuất và học các đặc trưng từ dữ liệu Mạng nơ-ron sâu đóng vai trò quan trọng trong việc thúc đẩy sự phát triển của học sâu, mở ra khả năng xử lý các tính toán phức tạp Được xem là một công nghệ đột phá, học sâu đang phát triển mạnh mẽ và đóng góp vào sự tiến bộ trong lĩnh vực công nghệ hiện đại

1.1.2.1 Mạng nơ-ron nhân tạo (Artificial Neural Network – ANN)

Mạng nơ-ron nhân tạo (Artificial Neural Network – ANN) là một mô hình tính toán được lấy cảm hứng từ cấu trúc và hoạt động của hệ thống nơ-ron trong não bộ của con người ANN được xây dựng với mục tiêu mô phỏng khả năng học và tự điều chỉnh của não bộ con người Mỗi nơ-ron trong mạng nơ-ron nhân tạo kết nối với các nơ-ron khác thông qua các trọng số, tương tự như cách mà các nơ-ron trong não kết nối với nhau qua các đường truyền thần kinh Hình 1 1 Tế bào thần kinh sinh học (trái) và mô hình toán học nơ-ron (phải) mô tả mô hình sinh học của một tế bào thần kinh và mô hình toán học tương ứng của nó Bên trong não, tồn tại các khu vực khác nhau để xử lý các nhiệm vụ cụ thể, có thể được hình thành thông qua các kết nối vật lý trong não hoặc thông qua quá trình học hỏi.

Hình 1.1 Tế bào thần kinh sinh học (trái) và mô hình toán học nơ-ron (phải) [2]

Các nhà khoa học đã cố gắng mô hình hóa một mạng lưới thần kinh dựa trên hoạt động của não bộ con người Một mạng lưới thần kinh thường bao gồm nhiều lớp tế bào thần kinh riêng biệt Trong mạng nơ-ron nhân tạo, lớp phổ biến nhất là lớp kết nối đầy đủ (fully connected layer) Hình 1.2 thể hiện cấu trúc của một tế bào thần kinh được kết nối đầy đủ.

Hình 1.2 Lớp được thiết kế đầy đủ mô phỏng hoạt động của não [3]

Nếu một mạng thần kinh có N lớp sẽ có 1 lớp đầu ra và N-1 lớp ẩn trong đó không bao gồm lớp đầu vào Mỗi kết nối có trọng số và ngưỡng kích hoạt khác nhau Mỗi nút có một hàm đầu vào (thường là một hàm tuyến tính với trọng số là biến của nó), một hàm kích hoạt đầu ra và một hàm đầu ra, được thể hiện theo phương trình (1.1) dưới đây:

Sau đó, đầu ra (Z) được chuyển vào một hàm kích hoạt trả về giá trị cuối cùng cho nút mạng Các hàm kích hoạt thường phi tuyến và một trong những hàm thường được sử dụng là hàm Sigmoid, công thức được mô tả như trong phương trình (1.2). σ(Z)= 1

1.1.2.2 Mạng nơ-ron tích chập (Convolutional Neural Network – CNN) a) Định nghĩa

Mạng nơ-ron tích chập (CNN) là một loại mạng nơ-ron được tối ưu hóa để xử lý dữ liệu hình ảnh CNN mã hóa đặc trưng từ hình ảnh và giảm số lượng tham số trong mạng, giúp cải thiện hiệu suất Thay vì sử dụng các lớp kết nối đầy đủ như mạng nơ-ron thông thường, CNN tổ chức các nơ-ron theo ba chiều và chỉ kết nối một phần nhỏ của lớp trước, xử lý hình ảnh hiệu quả hơn Nhờ vào các lớp tích chập, CNN tập trung vào các đặc trưng cụ thể trong hình ảnh, giúp giảm tải mô hình và tăng hiệu suất xử lý, nên rất phổ biến trong các bài toán nhận diện và xử lý hình ảnh.

Hình 1.3 So sánh mạng nơ-ron thông thường (trái) và mạng nơ-ron tích chập

CNN được hình thành từ một chuỗi các lớp, mỗi lớp trong CNN sẽ chuyển đổi dữ liệu từ một khối kích hoạt sang lớp khác thông qua một chức năng đặc biệt [5] Cấu trúc của mạng nơ-ron tích chập bao gồm 3 lớp chính: lớp tích chập (convolutional layer), lớp tổng hợp (pooling layer) và lớp kết nối đầy đủ (fully connected layer) Những lớp này được tổ chức xếp chồng lên nhau để tạo thành một cấu trúc của một mạng lưới thần kinh tích chập Thứ tự sắp xếp và số lượng các lớp là khác nhau để phù hợp với từng mô hình và mục đích giải quyết các vấn đề khác nhau Hình 1.4 biểu diễn một mô hình CNN đơn giản.

Hình 1.4 Kiến trúc mạng CNN [5]

Lớp tích chập là thành phần quan trọng nhất của CNN, chuyên dùng để trích xuất các đặc trưng đầu vào, thường là hình ảnh Quá trình này thực hiện tính toán đầu ra dựa trên mối liên kết giữa các nơ-ron và đầu vào thông qua một ma trận nhân Qua nhiều lớp tích chập, kích thước ảnh giảm đi nhưng số lượng kênh (chiều sâu) tăng lên, giúp CNN nhận dạng hình ảnh hiệu quả hơn

Hình ảnh 1.5 mô tả rõ hơn hoạt động của một toán tử tích chập với ảnh đầu vào RGB.

Hình 1.5 Toán tử CNN với ảnh RGB [2]

Mỗi bộ lọc học các đặc điểm khác nhau của hình ảnh, và một lớp tích chập thường có nhiều bộ lọc với kích thước F để trích xuất nhiều đặc trưng Kết quả đầu ra của mỗi lớp tích chập với K bộ lọc được biểu diễn bằng một tensor 3 chiều, kích thước được biểu diễn như công thức (1.3):

Trên bản đồ đặc trưng sẽ có các hàm kích hoạt tại mọi điểm và kích thước của bản đồ đặc trưng không thay đổi khi đi qua hàm kích hoạt Trong mạng nơ- ron tích chập, hàm kích hoạt được sử dụng nhiều nhất là hàm ReLU được định nghĩa bởi phương trình (1.4). f(x)=max(0,x) (1.4)

Mục đích của việc sử dụng hàm ReLU là loại bỏ các giá trị âm (các giá trị không chứa thông tin hình ảnh).

Trong mạng CNN, lớp tổng hợp thường đặt giữa các lớp tích chập Chức năng của lớp này là giảm sự phức tạp của không gian biểu diễn, giảm số lượng tham số và chi phí tính toán, đồng thời kiểm soát hiện tượng học quá mức(overfitting) của mô hình Các lớp tổng hợp hoạt động độc lập trên mọi độ sâu của dữ liệu và thay đổi kích thước bằng cách sử dụng phép toán tìm giá trị tối đa,được minh họa trong hình 1.6).

Hình 1.6 Nguyên lý làm việc của lớp tổng hợp [2]

Theo giả thuyết, bộ lọc tổng hợp có kích thước K*K Kích thước của đầu vào lớp tổng hợp là H*W*D Với mỗi ma trận, trên vùng K*K chúng ta tìm được giá trị lớn nhất (gộp tối đa) hoặc trung bình (gộp trung bình) và đặt các giá trị đó vào ma trận kết quả.

Mạng CNN với nhiều bản đồ đặc trưng nên sẽ có các lớp tổng hợp riêng biệt Phương pháp này giúp xác định đặc trưng có giá trị lớn nhất trong từng khu vực, đóng góp vào quá trình học và xác định đặc trưng của mô hình.

 Lớp kết nối đầy đủ

Chúng ta có thể thấy được lớp kết nối đầy đủ hoạt động giống như một mạng thần kinh thông thường: các tế bào thần kinh này được kết nối với tất cả các tế bào thần kinh trong lớp tiếp theo (Hình 1.7).

Hình 1.7 Lớp kết nối đầy đủ [2]

Các lớp kết nối đầy đủ lấy bản đồ đặc trưng được thu thập từ tính năng trích xuất đặc trưng trong quy trình tích chập trước đó Trong bài toán phân loại, hàm kích hoạt softmax được sử dụng tại lớp kết nối đầy đủ cuối cùng để đưa ra kết quả xác suất cho mỗi lớp được phân loại.

CNN trong bài toán phát hiện đối tượng

CNN đóng vai trò quan trọng trong việc giải quyết bài toán phát hiện đối tượng, nơi mục tiêu là xác định và định vị trí của các đối tượng trong ảnh.

1.2.1 Một số kiến trúc CNN trong bài toán phát hiện đối tượng

R-CNN (Region-based CNN): là một phương pháp tiếp cận hai giai đoạn trong phát hiện đối tượng được giới thiệu vào năm 2014 [6] R-CNN gồm 3 giai đoạn chính:

 Vùng đề xuất hình ảnh (Region proposal): đây là vùng có khả năng chứa đối tượng hay những đặc điểm quan trọng của hình ảnh được trích xuất bằng thuật toán tìm kiếm lựa chọn (selective search).

 Trích xuất đặc trưng (Feature Extractor): dùng để trích xuất các đặc trưng, nhận diện hình ảnh từ vùng đề xuất thông qua các mạng tích chập sâu.

 Phân loại (Classifier): giúp phân loại hình ảnh chứa trong vùng đề xuất về đúng nhãn dán của nó.

Mặc dù R-CNN mang lại độ chính xác cao, nhưng tốc độ xử lý chậm do phải xử lý từng đề xuất độc lập.

Hình 1.8 Sơ đồ pipeline xử lý trong mô hình mạng R-CNN [6]

Hình 1.8 biểu diễn sơ đồ xử lý trong mô hình mạng R-CNN Có thể thấy tại bước trích xuất đặc trưng có thể có nhiều vùng đề xuất Tiếp theo, sử dụng một mạng tích chập sâu để tính toán các đặc trưng và trả về kết quả dự báo các nhãn.

YOLO (You Only Look Once) đề xuất sử dụng mạng nơ-ron end-to-end,thực hiện dự đoán các bounding box và xác suất các lớp (class probabilities) cùng 1 lúc (One-State detection) Điều này khác biệt hoàn toàn với cách tiếp cận của các thuật toán phát hiện đối tượng vốn sử dụng lại các bộ phân loại trước đó.

Hình 1.9 Kiến trúc One-stage detector [9]

Khác với R-CNN sử dụng mạng đề xuất khu vực để phát hiện các vùng quan tâm trước khi nhận dạng, YOLO thực hiện tất cả các dự đoán chỉ với một lần lặp duy nhất, dựa vào một lớp kết nối đầy đủ Điều này giúp YOLO tiết kiệm thời gian và tăng hiệu suất.

1.2.2 Ứng dụng CNN trong bài toán phát hiện đối tượng

Bài toán phát hiện đối tượng có trong hình ảnh và video ngày càng trở nên phổ biến và có vai trò quan trọng trong nhiều lĩnh vực từ y tế, an ninh đến giáo dục Gần đây, CNN đã trở thành một công cụ mạnh mẽ cho việc giải quyết những bài toán này, mang lại nhiều ưu điểm và cải thiện đáng kể hiệu suất của các hệ thống phát hiện Dưới đây là một số ứng dụng quan trọng của CNN trong bài toán phát hiện.

 Phát hiện khuôn mặt: là một trong những bài toán kinh điển nhất của phát hiện đối tượng Việc phát hiện khuôn mặt có thể có nhiều ứng dụng khác nhau, nổi bật có thể kể đến như các hệ thống xác thực khuôn mặt.

 Trong lĩnh vực an toàn, an ninh: Năm 2022, K Gayathri và các cộng sự [10] đã phát triển hệ thống phát hiện đám cháy rừng sử dụng mạngCNN.

CNN trong bài toán phân loại

Mạng nơ-ron tích chập (CNN) đã trở thành công cụ quan trọng trong việc phân loại dữ liệu không gian, đặc biệt là trong lĩnh vực xử lý ảnh và video CNN không chỉ hiệu quả trong xử lý dữ liệu hình ảnh đơn giản mà còn linh hoạt trong xử lý dữ liệu đa dạng, phức tạp như video và ảnh y khoa.

1.3.1 Một số kiến trúc CNN trong bài toán phân loại

LeNet là kiến trúc CNN đầu tiên được thiết kế nhận dạng chữ viết tay Nó được đề xuất bởi Yann LeCun, Leon Bottou, Yoshua Bengio và Patrick Haffner cuối những năm 1980 [11] LeNet bao gồm các lớp tích chập, lớp gộp, một lớp kết nối đầy đủ và bộ phân loại softmax

Hình 1.10 Kiến trúc của LeNet [11]

MobileNet là một mô hình mạng nơ-ron tích chập nhẹ, được thiết kế đặc biệt để tối ưu hóa tốc độ và hiệu suất trên các thiết bị di động và nhúng Mô hình này sử dụng các phép tích chập theo chiều sâu và kết hợp các tích chập theo điểm (1x1 convolution) để giảm số lượng tính toán và tham số cần thiết, đồng thời vẫn giữ được các đặc điểm quan trọng của đầu vào MobileNet nhẹ hơn nhiều so với các mạng CNN truyền thống, phù hợp với các môi trường hạn chế tài nguyên như điện thoại thông minh và thiết bị IoT.

Hình 1.11 Ứng dụng của MobileNet trên các thiết bị thông minh

1.3.2 Ứng dụng CNN trong bài toán phân loại

CNN đã được ứng dụng trong nhiều bài toán phân loại thực tế từ phân loại hình ảnh y học đến việc phân loại vệ tinh và nhận diện khuôn mặt.

 Phân loại hình ảnh y học

Tại Việt Nam, có nhiều nghiên cứu sử dụng CNN trong phân loại ung thư vú sử dụng mạng CNN [12] giúp cứu sống hàng ngàn người trên thế giới.

Ngoài ra, Shoji Kido và các cộng sự [13] đã sử dụng mạng nơ-ron tích chập trong việc phát hiện và phân loại các loại bệnh về lao phổi giúp phân biệt trường hợp lành tính và ác tính một cách kịp thời hỗ trợ trong việc điều trị.

 Trong làm đẹp, thẩm mỹ

CNN được sử dụng để phân loại 4 loại da dầu, da, khô, da bình thường và da hỗn hợp giúp đề xuất sản phẩm làm đẹp phù hợp [14].

CNN trong bài toán phân vùng

Ngoài hiệu quả trong bài toán phân loại, CNN còn đóng vai trò quan trọng trong việc tự động trích xuất đặc trưng và phân vùng các vùng trong hình ảnh.

1.4.1 Một số kiến trúc CNN trong bài toán phân vùng

Trong vài năm qua, nhiều nhà nghiên cứu đã ưa chuộng dòng YOLO vì khả năng phát hiện đối tượng theo thời gian thực Là thuật toán tiên tiến của dòng YOLO, YOLOv8 Instance Segmentation [49] vượt trội so với YOLO tiền nhiệm về tốc độ và độ chính xác với kiến trúc phân vùng hình ảnh, kết hợp các đặc trưng từ các tầng của mạng backbone để nhận diện và phân vùng đối tượng Nó duy trì khả năng xử lý thời gian thực với độ chính xác cao, phù hợp cho các ứng dụng yêu cầu tốc độ và hiệu quả như giám sát an ninh và xe tự lái.

UNet là một kiến trúc mạng nơ-ron tích chập (CNN) phổ biến được thiết kế đặc biệt cho bài toán phân vùng hình ảnh, đặc biệt là trong lĩnh vực y học UNet đã được giới thiệu lần đầu bởi Olaf Ronneberger và cộng sự trong bài báo năm

Hình 1.12 Hình dạng kiến trúc UNET để phát hiện nếp nhăn được Semin Kim và cộng sự đề xuất [47]

UNet có cấu trúc hình chữ U, chia thành hai phần chính: phần giảm mẫu và phần tăng mẫu Trong phần giảm mẫu, hình ảnh được xử lý qua các lớp tích chập và giảm mẫu (pooling) để trích xuất các đặc trưng Phần tăng mẫu bao gồm các lớp giải tích (upconvolution) và tích chập để khôi phục độ phân giải và tạo mặt nạ phân vùng Các kết nối chuyển tiếp (skip connections) giữa các tầng giúp bảo toàn thông tin và cải thiện chất lượng phân vùng.

1.4.2 Ứng dụng CNN trong bài toán phân vùng

 Phân vùng y tế: Trong lĩnh vực y học, CNN được sử dụng để phân vùng các cơ quan hoặc mô từ hình ảnh y tế như MRI, CT, hoặc X-quang Năm

2016, Liskowski, Paweł, và Krzysztof Krawiec [48] đã sử dụng CNN để phân chia mạch máu ở vòng mạc.

 Phân vùng đối tượng: Trong thị giác máy tính, CNN được sử dụng để phân vùng và nhận dạng các đối tượng trong hình ảnh Năm 2022, nhómUltralystic đã phát triển và giới thiệu Yolov8 segmentation [49] được huấn luyện trên tập dữ liệu Coco Dataset có thể phân vùng 80 đối tượng trong hình ảnh hoặc video.

Tăng cường dữ liệu

Tăng cường dữ liệu là một kỹ thuật quan trọng trong học máy và học sâu với mục đích là tăng lượng dữ liệu huấn luyện bằng cách tạo ra các biến đổi của dữ liệu gốc Điều này giúp mô hình học tốt hơn và ngăn chặn việc học quá mức trên tập dữ liệu hạn chế.

1.5.1 Kỹ thuật tăng cường dữ liệu truyền thống

Một số kỹ thuật tăng cường dữ liệu phổ biến trong thị giác máy tính bao gồm:

• Tăng cường vị trí (Position Augmentation) o Xoay (Rotation): Quay ảnh theo một góc nào đó giúp cho mô hình nhận biết các đặc trưng từ nhiều hướng khác nhau. o Lật (Flipping): Lật ảnh theo chiều ngang hoặc theo chiều dọc. Phương pháp này giúp cho mô hình học được các biểu diễn đối xứng. o Phóng to và cắt ảnh (Zoom and Crop): Phóng to hoặc thu nhỏ một phần của ảnh, sau đó cắt ảnh để có kích thước mong muốn Điều này giúp cho mô hình học được các biến đổi trong tỷ lệ.

• Tăng cường màu sắc (Color Augumentation) Đổi màu (Color Jittering): Thay đổi màu sắc của ảnh bằng cách thêm hoặc giảm độ sáng, độ tương phản hoặc thay đổi các thành phần màu RGB.

Kết luận

Chương 1 trình bày khái niệm về học sâu, các kiến trúc học sâu phổ biến bao gồm ANN, CNN và các ứng dụng của CNN trong bài toán như: phát hiện đối tượng bài toán phân loại, bài toán phân vùng Ngoài ra, tổng quan về các kỹ thuật tăng cường dữ liệu cũng được trình bày.

KHẢO SÁT VÀ PHÂN TÍCH CÁC MÔ HÌNH PHÁT HIỆN KHUÔN MẶT, PHÂN LOẠI, PHÂN VÙNG, TĂNG CƯỜNG DỮ LIỆU VÀ CÔNG CỤ XÂY DỰNG MÔ HÌNH AI TRÊN DI ĐỘNG

Tổng quan phát hiện khuôn mặt

Phát hiện đối tượng nhằm định vị và phân loại các đối tượng trong ảnh, video là một phần quan trọng trong lĩnh vực trí tuệ nhân tạo Các phương pháp truyền thống như SIFT [17] và HOG thường được sử dụng Tuy nhiên, các phương pháp như Deformable Part Models (DPM) đã thành công khi kết hợp tính năng thủ công và SVM

Sự xuất hiện của AlexNet vào năm 2012 mở ra một kỷ nguyên mới cho học sâu, làm cho các phương pháp truyền thống như R-CNN và Fast R-CNN trở nên lạc hậu Trong khi đó, các phương pháp một giai đoạn như YOLO và SSD được giới thiệu để giảm độ trễ Việc phát triển các bộ dữ liệu như WIDER FACE với nhiều hình ảnh và nhãn dán đã thúc đẩy sự tiến bộ trong phát hiện khuôn mặt, có ứng dụng quan trọng trong bảo mật an ninh, y tế, …

Trong nghiên cứu phân loại vấn đề da mặt, phát hiện và nhận dạng khuôn mặt chính xác giúp tăng hiệu quả trong việc phân tích các đặc trưng da mặt Mô hình phát hiện khuôn mặt với bounding box chuẩn, loại bỏ các phần đặc trưng dư thừa như tóc hay phông nền, tập trung vào các vùng da quan trọng như da mặt, vùng da quanh mắt, trán và cằm Điều này giúp tăng độ chính xác và đáng tin cậy trong việc phân loại và phân vùng các vấn đề da mặt như sắc tố, nếp nhăn và lỗ chân lông.

Phần tiếp theo sẽ đi sâu vào khảo sát các nghiên cứu đã được công bố đối với bài toán phát hiện khuôn mặt.

Khảo sát phương pháp phát hiện khuôn mặt

*) Viola Jones Face detection Algorithm

Paul Viola và Michael J.Jones [18] đã đề xuất một phương pháp phát hiện khuôn mặt có tên Viola-Jones Phương pháp sử dụng “Haar-like features” và học máy AdaBoost để phát hiện khuôn mặt nhanh chóng Ưu điểm: Xác định khuôn mặt nhanh chóng và hiệu quả trên dữ liệu thời gian thực.

Nhược điểm: Mô hình có thể không chính xác trên tập dữ liệu hình ảnh có biến đổi đa dạng và không có khả năng phát hiện các khuôn mặt giả.

2.2.2 Phương pháp dựa trên Deep Learing

2.2.2.1 Mô hình một giai đoạn

Raphael Feraud và cộng sự [19] đề xuất một phương pháp mới để nhận diện khuôn mặt sử dụng mô hình mạng lưới thần kinh gọi là "Constrained generative model" (CGM) CGM là một loại perceptron đa lớp được đào tạo để giảm kích thước phi tuyến, tạo ra một mô hình tổng quát cho khuôn mặt Để đạt được tính năng phát hiện khuôn mặt ở nhiều góc độ, nhiều CGM được kết hợp thông qua hỗn hợp có điều kiện và mạng cổng MLP.

Trong bài báo "RetinaFace: Single-stage Dense Face Location in the Wild", Jiabkang Deng và đồng nghiệp giới thiệu một thiết kế mới gọi là RetinaFace, sử dụng chiến lược học tập đa tác vụ để dự đoán các thông tin như điểm số khuôn mặt, bounding box, landmark 5 điểm trên khuôn mặt, và vị trí 3D của từng pixel trên khuôn mặt Trên tập con hard của bộ dữ liệu WIDER FACE, RetinaFace đạt độ chính xác vượt trội hơn phương pháp hai giai đoạn ISRN khoảng 1.1% (AP là 91.4%) Mô hình RetinaFace cung cấp hai phiên bản sử dụng hai mạng khác nhau: RestNet152 và MobileNetV1-0.25, với mục đích là đạt độ chính xác cao và hoạt động nhanh trên thiết bị di động.

Hình 2.13 Tổng quan về phương pháp RetinaFace được đề xuất [21] Ưu điểm: Mô hình có khả năng nhận diện đặc trưng khuôn mặt một cách chính xác bao gồm các điều kiện có ánh sáng khó khăn như quá sáng hoặc quá tối Mô hình dùng RestinaFace sử MobileNetV1-0.25 làm backbone có kích thước nhỏ gọn, tiết kiệm tài nguyên lưu trữ và có thể chạy trên các thiết bị có tài nguyên hạn chế

Nhược điểm: Mô hình gặp khó khăn trong một số trường hợp khuôn mặt bị che phủ Đối với mô hình xây dựng trên RestNet152 mặc dù có độ chính xác cao nhưng yêu cầu tài nguyên tính toán cao do đó có thể gây ra tình trạng quá tải nếu chạy trên các thiết bị có tài nguyên hạn chế, tốc độ xử lý chậm hơn mô hình nhỏ gọn MobilenetV1-0.25.

Delong Qi và đồng nghiệp đã giới thiệu một mô hình nhận dạng khuôn mặt [51] Mô hình này được phát triển dựa trên trình phát hiện đối tượng YOLOv5 và được mở rộng bằng việc thêm 5 điểm landmark để phát hiện khuôn mặt Tác giả đã thiết kế các mô hình phát hiện với kích thước khác nhau từ mô hình lớn đến mô hình siêu nhỏ để đáp ứng nhu cầu của nhiều ứng dụng khác nhau, từ hiệu suất tốt nhất đến phát hiện khuôn mặt theo thời gian thực trên các thiết bị nhúng hoặc điện thoại di động Trên bộ dữ liệu WIDER FACE, các mô hình đã đạt được độ chính xác cao từ 71.39% đến 96.06% trên các tập Easy, Medium và Hard, với mô hình siêu nhỏ đạt từ 24.18% đến 93.78% trên các tập tương ứng Kết quả thử nghiệm cho thấy mô hình đề xuất có hiệu suất tiên tiến và cân bằng giữa độ chính xác và tốc độ trên ba tập con Easy, Medium và Hard của WIDER FACE Hình 2.2 mô tả kiến trúc mạng YOLO5-Face được đề xuất.

Hình 2.14 Kiến trúc mạng YOLO5-Face được đề xuất [25] Ưu điểm: Phương pháp này đạt độ chính xác cao trên bộ dữ liệu khuôn mặt khó khăn WIDER FACE Tạo ra 8 mô hình từ lớn đến nhỏ để phát hiện khuôn mặt theo thời gian thực trên các thiết bị có tài nguyên hạn chế Sử dụng landmark regression giúp cải thiện chất lượng phát hiện khuôn mặt, và hàm mất mát định vị các điểm landmark một cách hiệu quả và chính xác.

Nhược điểm: Khả năng tổng quát hoá hạn chế trên các bộ dữ liệu khác, yêu cầu tài nguyên tính toán cao đối với các mô hình lớn, độ phức tạp trong huấn luyện và triển khai mô hình, cũng như độ chính xác còn hạn chế trên tập Hard của WIDER FACE Thời gian huấn luyện cũng có thể dài và việc lựa chọn phiên bản phù hợp đòi hỏi kỹ năng chuyên môn.

2.2.2.2 So sánh một số mô hình phát hiện khuôn mặt nhanh và nhẹ

Bảng 2 1 Khảo sát mô hình phát hiện khuôn mặt nhẹ mô tả độ chính xác của các mô hình phát hiện khuôn mặt trên tập test của bộ dữ liệu WIDER FACE.

Bảng 2.1 Khảo sát mô hình phát hiện khuôn mặt nhẹ [24]

Tổng quan phân loại và phân vùng các vấn đề da trên khuôn mặt

Công nghệ đã thay đổi lĩnh vực chăm sóc da, khi các spa sử dụng máy móc hiện đại như máy phân tích da 3D, máy phân tích da UV, và máy phân tích da multispectral để cung cấp khách hàng cái nhìn sâu hơn về tình trạng da của họ. Đồng thời, trí tuệ nhân tạo và học sâu đã mở ra kỷ nguyên mới trong việc phân tích da, khi các mô hình có thể phân loại các loại bệnh da khác nhau từ hình ảnh da, giúp phát hiện sớm các trường hợp ung thư da và các vấn đề khác.

Trong đồ án này, các mô hình được phát triển để phân loại mức độ nghiêm trọng của vấn đề da mặt dựa trên hình ảnh khuôn mặt con người đồng thời phân vùng những vùng da có vấn đề đó Đặc biệt, đồ án đề xuất mô hình có khả năng hoạt động trên cả thiết bị di động, mang lại tính tiện lợi và linh hoạt cho người dùng.

Khảo sát phương pháp phân loại và phân vùng các vấn đề da

2.4.1 Khảo sát phương pháp phân loại bệnh da

 Phân loại bệnh trên da sử dụng MobileNet

Trong năm 2019, Jessica Velasco và cộng sự [27] đã phát triển một mô hình để phân loại 7 loại bệnh trên da bao gồm: Psoriasis, Acne, Vitiligo, Pityriasis rosea, Chickenpox, Eczema và Tinea Corporis sử dụng mô hình MobileNet.

Nhóm tác giả đã sử dụng mô hình MobileNet đã được đào tạo trước trên bộ dữ liệu ImageNet Các tác giả huấn luyện và tinh chỉnh lớp cuối cùng của mô hình với tập dữ liệu của họ Các siêu tham số được sử dụng là: learning rate là 0.0001, hàm kích hoạt softmax, sử dụng hàm mất mát là crossentropy, hàm tối ưu là Adam và được đào tạo với 30 epochs Sau khi áp dụng oversampling technique và tăng cường dữ liệu để xử lý tập dữ liệu mất cân bằng, độ chính xác của mô hình đạt 94.4%. Ưu điểm:Mô hình MobileNet nhẹ và hiệu quả, phù hợp cho các thiết bị có tài nguyên tính toán hạn chế Kết quả đạt độ chính xác cao (94.4%) nhờ kỹ thuật tăng cường dữ liệu và oversampling, giúp cải thiện khả năng phân loại Quá trình huấn luyện mô hình cũng được tối ưu hóa với các siêu tham số hợp lý, sử dụng hàm mất mát crossentropy và hàm tối ưu Adam.

Nhược điểm: Dự án phụ thuộc vào kỹ thuật tiền xử lý như lấy mẫu quá mức và tăng cường dữ liệu trên tập dữ liệu không cân bằng, dẫn đến mô hình không hiệu quả trong các lớp thiểu số và ảnh hưởng đến độ chính xác và tin cậy của kết quả phân loại.

 Phân loại bệnh trên da sử dụng EfficientNet

Năm 2021, Rashidul Hasan Hridoy và cộng sự [28] đã sử dụng EfficientNet để phân loại 21 bệnh về da.

Tập dataset gồm 6300 ảnh về các loại bệnh trên da, sau đó được tăng cường dữ liệu với phương pháp như xoay, lật, dịch và phóng to để thu được 52500 ảnh. Mỗi lớp được chia thành 2000 ảnh train, 200 ảnh val và 100 ảnh test trước khi được đưa vào mô hình EfficientNet để phân loại Nghiên cứu thử nghiệm trên các phiên bản từ B0 đến B7 của EfficientNet để so sánh hiệu suất và độ chính xác của từng mô hình Mô hình đề xuất sử dụng softmax làm hàm kích hoạt ở lớp cuối, cross-entropy loss, và phương pháp "early stop" với patience là 5 và loss thay đổi thấp nhất là 0.001 Adam được sử dụng làm hàm tối ưu với tỷ lệ học là 0.001 và batch size là 16.

Hình 2.3 mô tả độ chính xác trong quá trình huấn luyện và kiểm tra cho tất cả các phiên bản khác nhau của mô hình EfficientNet Trong đó, EfficientNet-B7 đạt được độ chính xác cao nhất trên cả tập dữ liệu huấn luyện và kiểm tra Mô hình EfficientNet-B0 đã đạt độ chính xác 94.18% trên tập train và 93.35% trên tập test trong khi số lượng tham số và thời gian đào tạo thấp nhất.

Hình 2.15 Kết quả trên các phiên bản khác nhau của EfficientNet [28] 2.4.2 Khảo sát phương pháp phân vùng sắc tố da, nếp nhăn và lỗ chân lông

 Phân vùng nếp nhăn vùng trán và vùng mắt trên khuôn mặt sử dụng mô hình UNET

Năm 2023, Semin Kim và cộng sự [47] đã phát triển mô hình UNET dùng cho phân vùng nếp nhăn vùng trán và vùng mắt trên khuôn mặt Đầu tiên, họ đã loại bỏ những vùng trên khuôn mặt không cần thiết như nền, mắt, lông mi, mũi để giúp mô hình có thể học tốt hơn Cái đặc biệt trong phương pháp đề xuất của họ là họ sử dụng giám sát sâu có trọng số (những trọng số này đã được họ tìm ra và chứng minh được rằng mô hình họ đề xuất cho kết quả tốt hơn những phương pháp như sử dụng bộ lọc Hessian,…).

Bảng 2.2 So sánh chỉ số JSI cho từng phương pháp [47]

Hạn chế: trong phương pháp mà họ đề xuất chỉ thực hiện phát hiện những đường nếp nhăn ở vùng trán và vùng mắt.

 Phân vùng đồng thời nếp nhăn vùng trán và vùng mắt và từng lỗ chân lông trên vùng má và mũi sử dụng UNET

Sau khi đã đạt được những kết quả nhất định từ nghiên cứu trước đó được đề cập ở trên, Semin Kim và cộng sự [52] đã tiếp tục phát triển mô hình UNET để có thể phân vùng đồng thời những đường nếp nhăn trên khuôn mặt (vùng trán và vùng mắt) và từng lỗ chân lông to ở vùng má và mũi Do vị trí của nếp nhăn và lỗ chân lông đã được xác định từ trước, vì vậy mà để mô hình có thể học tốt hơn họ đã đề xuất sử dụng cơ chế chú ý cho từng vấn đề da này theo những vùng chỉ định cho trước Trong bài báo, họ cũng đã đề xuất công thức để xử lý ảnh cho từng vấn đề da là nếp nhăn và lỗ chân lông to sử dụng bộ lọc như Hessian, Gaus. Nhờ đó, mà phương pháp mà họ đề xuất đã đạt được kết quả tốt hơn so với sử dụng mô hình UNET thông thường.

Bảng 2.3 So sánh IOU values [52]

 Phát hiện dấu hiệu sắc tố dựa trên học sâu để phân tích và chẩn đoán viêm võng mạc sắc tố

Năm 2020, Muhammad Arsalan và cộng sự [53] đã phát triển một mô hình để có thể phát hiện và phân tích viêm võng mạc sắc tố, họ gọi mô hình đó là RSP-Net (Retinitis Pigmentosa Segmentation Network).

Bảng 2.4 So sánh độ chính xác phân vùng sắc tố võng mạc [53]

Phương pháp mà họ đề xuất khi so sánh với các mô hình khác như UNET cho thấy được các chỉ số đánh giá cao hơn, kết quả trả về tốt hơn.

2.4.3 Khảo sát phương pháp phân loại sắc tố da, nếp nhăn và lỗ chân lông

 Phân loại mức độ nghiêm trọng của nếp nhăn và đốm trên da sử dụng mô hình ResNet

Năm 2022, Tsai-Rong Chang và cộng sự [30] đã phát triển công cụ chẩn đoán mức độ nghiêm trọng của nếp nhăn và đốm trên da mặt Cụ thể đối với nếp nhăn, họ đã chia ra làm 3 vùng nhăn trán, nhăn mắt và nhăn má, mức độ nghiêm trọng của nếp nhăn sẽ được chia làm 5 cấp độ và đốm chia làm 4 cấp độ. Để giảm các đặc trưng dư thừa trong quá trình huấn luyện, nhóm tác giả đã sử dụng thư viện dlib kết hợp với 81 điểm landmark để chia khuôn mặt thành 3 vùng: trán, mắt và má Trong bài báo này, tác giả sử dụng 5 mô hình ResNet (ResNet-18, ResNet-34, ResNet-50, ResNet-101 và ResNet-152) để huấn luyện và đánh giá cho mô hình phân loại mức độ nghiêm trọng các vấn đề da mặt. Ngoài ra, các tham số huấn luyện được sử dụng trong nghiên cứu bao gồm: 1000 epochs, batch size 128, learning rate 0.001, trình tối ưu hoá là SGD và hàm mất mát là cross entropy Hình 2.4 minh hoạ độ chính xác của 5 phiên bản ResNet trên tập dữ liệu test.

Hình 2.16 Độ chính xác của các phiên bản ResNet [30]

Từ hình ảnh trên có thể dễ dàng nhận thấy được mô hình ResNet152 vượt trội hơn hẳn các phiên bản ResNet còn lại cho tác vụ phân loại cấp độ của các vấn đề da trên khuôn mặt Ngoài ra, nhóm tác giả còn so sánh kết quả đào tạo mô hình sử dụng ảnh cả khuôn mặt so với việc chỉ sử dụng ảnh các vùng trên khuôn mặt Kết quả cho thấy việc sử dụng ảnh cả khuôn mặt cho ra kết quả thấp hơn rất nhiều so với phương pháp cắt các vùng để đào tạo.

Hình 2.17 So sánh kết quả sử dụng data vùng và data toàn mặt [30]

Nhược điểm: Tập data gốc có số lượng mẫu hạn chế (200 mẫu cho mỗi class) nên nhóm tác giả đã áp dụng phương pháp tăng cường dữ liệu bằng cách thay đổi các kênh của thang màu HSV và áp dụng phép xoay, lật ảnh để tạo ra bộ dataset với số lượng 129600 mẫu Tuy nhiên việc áp dụng phương pháp tăng cường này đã gây ra sai lệch mạnh mẽ, vì vậy nếu số lượng mẫu trong dữ liệu gốc lớn hơn thì kết quả đưa ra có lẽ sẽ thuyết phục hơn. Đồ án giải quyết bài toán phân loại mức độ nghiêm trọng vấn đề da dựa trên phân tích hình ảnh tập trung vào mạng CNN có tốc độ nhanh và độ chính xác chấp nhận được để chạy trực tiếp trên thiết bị di động Phần tiếp theo của đồ án sẽ trình bày khảo sát mạng CNN phù hợp với mục tiêu bài toán.

2.4.4 Khảo sát mạng CNN phù hợp với mục tiêu bài toán

2.4.4.1 Khảo sát mạng CNN nhanh và nhẹ Để mạng phân loại có thể hoạt động trực tiếp trên các thiết bị có tài nguyên hạn chế cần đảm bảo mạng có kích thước nhẹ và độ chính xác cao để có thể đưa ra các dự đoán nhanh chóng Để chọn mạng CNN phù hợp với bài toán cần dựa trên các tiêu chí được đưa ra Thứ nhất, tổng kích thước không thể quá lớn; thứ hai tốc độ phải nhanh và cuối cùng độ chính xác (IC) phải cao Trong bảng 2.5 dưới đây có thông tin về CNN đơn chức năng cho bài toán phân loại hình ảnh (Image Classfication - IC).

Bảng 2.5 Khảo sát mạng CNN nhanh và nhẹ

CNN name Type Benchmark FPS Devic e mAP (%)

Khảo sát phương pháp tăng cường dữ liệu cho bài toán phân loại vấn đề da

2.5.1 Khảo sát phương pháp tăng cường dữ liệu truyền thống

Trong bài báo "Classifying Conditions of Speckle and Wrinkle on the Human Face: A Deep Learning Approach", các tác giả đã sử dụng kỹ thuật tăng cường dữ liệu để giải quyết việc thiếu dữ liệu cho việc phân loại mức độ nghiêm trọng của nếp nhăn và đốm trên mặt Họ áp dụng xoay hình ảnh, lật ngang và thay đổi màu sắc HSV trên tập dữ liệu gốc 200 ảnh, biến đổi này đã tăng số lượng ảnh lên đến 129600 Ngoài ra, một nghiên cứu khác đã thu thập 6300 ảnh của 20 loại bệnh da khác nhau (bệnh vảy nến, bệnh chàm, nấm, bệnh rosacea, nổi mề đay, v.v) và sử dụng các phương pháp tăng cường khác nhau như xoay, lật ngang, lật dọc và phóng to hình ảnh để mở rộng tập dữ liệu lên 52500 ảnh Tóm lại, phương pháp tăng cường dữ liệu thông thường bao gồm các biến đổi hình học và thay đổi màu sắc.

Khảo sát các framework ứng dụng mô hình AI trên điện thoại di động

Với sự tiến bộ của trí tuệ nhân tạo và công nghệ hiện nay, việc tích hợp các công cụ AI lên các thiết bị di động đang dần phổ biến Tuy nhiên việc triển khai các mô hình AI lên điện thoại không phải một nhiệm vụ đơn giản Đối mặt với các hạn chế về tài nguyên, hiệu suất, độ chính xác mô hình, các nhà phát triển cần tìm kiếm và phát triển các framework phù hợp để phát triển các mô hình AI lên thiết bị di động

PyTorch Mobile, một phần của hệ sinh thái PyTorch của Facebook AI, được thiết kế để mang lại sức mạnh của PyTorch, một trong những thư viện phổ biến nhất cho việc phát triển mô hình AI, PyTorch Mobile cung cấp một loạt các công cụ và tính năng cho việc xây dựng, đào tạo và triển khai mô hình trên các thiết bị có tài nguyên hạn chế Bên cạnh đó, PyTorch Mobile cũng tập trung vào việc tối ưu hóa hiệu suất và kích thước của mô hình để có thể chạy một cách hiệu quả trên các thiết bị di động.

Hình 2.18 xây dựng mô hình Pytorch trên di động 2.6.2 TFLite

TensorFlow Lite (TFLite) là một trong những framework cho việc triển khai mô hình trí tuệ nhân tạo (AI) trên các thiết bị di động Được phát triển bởi Google, TFLite cung cấp các công cụ mạnh mẽ cho việc chuyển đổi, tối ưu hóa và triển khai mô hình TensorFlow trên các thiết bị có tài nguyên hạn chế như điện thoại di động và thiết bị IoT Đồng thời, TFLite cũng hỗ trợ tích hợp với các công nghệ như TensorFlow Model Optimization Toolkit để giảm kích thước mô hình và tăng tốc độ suy luận.

Hình 2.19 Các bước triển khai mô hình TFLite 2.6.3 NCNN

NCNN (Neural Network Computation Library) là một thư viện tính toán suy luận mạng thần kinh hiệu suất cao được tối ưu hóa cho các thiết bị di động.

NCNN không phụ thuộc vào bên thứ ba, điều này tạo điều kiện cho sự linh hoạt và tiện ích trong việc triển khai trên nhiều nền tảng khác nhau Với hiệu suất vượt trội, ncnn chạy nhanh hơn so với các khung nguồn mở khác trên CPU của điện thoại di động.

Bài báo A Comprehensive Benchmark of Deep Learning Libraries on Mobile Devices [43] được viết năm 2022 so sánh hiệu suất các framework hỗ trợ triển khai các mô hình học sâu trên nền tảng các thiết bị di động.

Bảng 2.6 Các thiết bị di động sử dụng để so sánh

Hình 2.20 So sánh hiệu suất khi triển khai các mô hình Deep learning với các framework khác nhau trên các thiết bị di động sử dụng CPU

Kết luận

Chương 2 trình bày tổng quan về bài toán phát hiện đối tượng, phát hiện khuôn mặt và bài toán phân loại, phân vùng các vấn đề da mặt Ngoài ra, việc khảo sát các phương pháp dựa trên học sâu cho cả bài toán phát hiện khuôn mặt và bài toán phân loại da phần nào thấy được xu hướng giải quyết các vấn đề ở hiện tại Chương 2 đồng thời đưa ra khảo sát các phương pháp tăng cường dữ liệu từ đó làm cơ sở để lựa chọn các phương án sử dụng trong đồ án, được trình bày ở chương tiếp theo Cuối cùng chương khảo sát các framework hỗ trợ ứng dụng các mô hình AI trên các thiết bị di động.

PHƯƠNG PHÁP ĐỀ XUẤT PHÂN LOẠI MỨC ĐỘ NGHIÊM TRỌNG, KHOANH VÙNG VÙNG DA CÓ VẤN ĐỀ DA

Tổng quan phương pháp đề xuất

Hình 3.1 mô tả hệ thống phân loại và phân vùng mức độ nghiêm trọng của các vấn đề da như sắc tố, nếp nhăn và lỗ chân lông Dữ liệu được sử dụng là AICS Skin E Plus, tổng hợp từ AICS Skin và các nguồn công khai như Google, Facebook, và Roboflow Ảnh đầu vào được chuyển đổi kích thước 640x640 và xử lý qua mô hình YOLO5-Face để phát hiện khuôn mặt, sau đó cắt ảnh theo bounding box và đưa vào mô hình MobileNetV2 để phân loại mức độ nghiêm trọng của các vấn đề da: nghiêm trọng, trung bình và tốt Đối với nếp nhăn, khuôn mặt được chia thành 3 vùng dựa trên 81 điểm landmark để đánh giá chi tiết nếp nhăn trán, mắt và rãnh miệng Mức độ nghiêm trọng của lỗ chân lông và sắc tố da được phân loại trên toàn bộ khuôn mặt Ảnh được thay đổi kích thước thành 224x224 để phù hợp với mô hình phân loại Mô hình Unet được đề xuất cho việc phân vùng sắc tố da, lỗ chân lông và nếp nhăn Khuôn mặt trong phân vùng nếp nhăn sẽ loại bỏ mắt, mũi, miệng và nền, sử dụng 81 điểm landmark để phân vùng chính xác Phân vùng mức độ nghiêm trọng lỗ chân lông và sắc tố da cũng sử dụng ảnh toàn bộ khuôn mặt, và ảnh được chuyển đổi kích thước thành 640x640 trước khi đưa vào mô hình phân vùng.

Hình 3.21 Pipeline cho bài toán phân loại mức độ nghiêm trọng của sắc tố da, nếp nhăn và lỗ chân lông

Đề xuất phương pháp cho đề tài

3.2.1 Đề xuất phương pháp phát hiện khuôn mặt

Phát hiện khuôn mặt trên các thiết bị tại biên (smartphone) giúp giảm lượng dữ liệu truyền về server để phân loại vấn đề về da cũng như tăng trải nghiệm khách hàng Vì vậy mô hình lựa chọn cần nhanh, nhẹ và có độ chính xác chấp nhận được Các mô hình phát hiện khuôn mặt khác nhau đã được khảo sát trong chương 2, bao gồm: Faster-CNN, RetinaFace, v.v tuy nhiên các phương pháp này có đặc điểm là kích thước mạng lớn nên tốc độ chậm Do đó, YOLO5-Face được lựa chọn để đảm bảo cân bằng giữa tốc độ nhanh và độ chính xác cao so với các phương pháp khác

3.2.1.1 YOLO5-Face a) Giới thiệu về YOLO5-Face

Mô hình YOLO5-Face được Weijun Tan và các cộng sự [24] xây dựng dựa trên trình phát hiện đối tượng YOLOv5 và tối ưu hoá để phù hợp cho việc phát hiện khuôn mặt từ khuôn mặt nhỏ tới khuôn mặt lớn YOLO5-Face thiết kế các mô hình với kích cỡ khác nhau từ mô hình lớn để đạt được hiệu suất tốt cũng như các mô hình siêu nhỏ để phát hiện theo thời gian thực trên thiết bị nhúng hoặc thiết bị di động. b) Kiến trúc mô hình

Kiến trúc mạng YOLO5-Face bao gồm ba thành phần chính: backbone, neck và head thể hiện như Hình 3.2.

Mô hình YOLOv5 sử dụng CSPNet là một mạng nơ-ron tích chập (CNN) làm mạng cơ bản CSPNet đóng vai trò như nền tảng cơ bản của mô hình giúp trích xuất đặc trưng ảnh đầu vào.

Neck chịu trách nghiệm tổng hợp đặc trưng từ các tầng trước đó của lớp backbone Trong mô hình này, Spatial Pyramid Pooling (SPP) và Path Aggregation Network (PAN) được sử dụng để tổng hợp các đặc trưng.

Head sử dụng CBS Block (Convolution Block with Batch Normalization and SILU) trong nhiều khối khác nhau Nó kết hợp cả hai dự đoán hồi quy và phân loại để dự đoán các thông tin như hộp giới hạn (bounding box), xác suất tin cậy (confidence), phân loại (classification) và năm điểm landmark trên khuôn mặt.

Hình 3.22 Kiến trúc mạng YOLO5-Face được đề xuất [24]

3.2.2 Đề xuất phương án phân vùng khuôn mặt

3.2.2.1 Đối với bài toán phân loại các mức độ nghiêm trọng các vấn đề da

Vì sắc tố da và lỗ chân lông phân bố trên toàn bộ khuôn mặt nên việc sử dụng ảnh toàn diện của khuôn mặt làm đầu vào cho hai mô hình phân loại sẽ giúp đánh giá mức độ nghiêm trọng của từng vấn đề Đối với nếp nhăn, khuôn mặt được chia thành 3 vùng riêng biệt: vùng trán, mắt và miệng nhằm xác định chi tiết mức độ nghiêm trọng cho từng vùng Để trích xuất được các vùng này, mô hình 81 điểm landmark được sử dụng để hiển thị các điểm đặc trưng trên khuôn mặt và thực hiện phân chia thành các hình đa giác tương ứng với các vùng nhăn.

Theo paper [30], nếu A, B là hai trong số 81 điểm thì điểm trung gian giữa

A và B sẽ được tính theo công thức (3.1).

Nếu cần tìm điểm trung gian giữa 3 điểm A, B, C thì công thức được biểu diễn như (3.2).

Phân vùng trán và mắt được tham khảo theo paper [30] Trong bài báo gốc, nhóm tác giả tập trung vào cắt đa giác vùng má thì đồ án này tự đề xuất một phương pháp cắt đa giác vùng miệng dựa trên các điểm landmark phục vụ phân loại mức độ nghiêm trọng cho nếp nhăn rãnh miệng Hình 3.3 biểu diễn bản đồ khuôn mặt sử dụng 81 điểm lanmark và các vùng trán, mắt, miệng được cắt ra tương ứng

Hình 3.23 (a) Bản đồ khuôn mặt sử dụng 81 điểm landmark, (b) Hình ảnh vùng trán được cắt ra từ (a), (c) Hình ảnh vùng mắt và (d) Hình ảnh vùng miệng [30]

3.2.2.2 Đối với bài toán phân vùng các mức độ nghiêm trọng các vấn đề da

Vì sắc tố da và lỗ chân lông phân bố trên toàn bộ khuôn mặt nên việc sử dụng ảnh toàn diện của khuôn mặt làm đầu vào cho mô hình phân vùng sẽ giúp phân vùng tốt hơn Đối với nếp nhăn được tham khảo theo bài báo [44], khuôn mặt được loại bỏ mắt, mũi và nền để giảm nhiễu Để trích xuất được các vùng này, mô hình 81 điểm landmark được chúng em sử dụng để hiển thị các điểm đặc trưng trên khuôn mặt và thực hiện loại bỏ các vùng trên Ngoài ra, bởi vì vùng môi thường bị nhầm lần với nếp nhăn, chúng em đã lựa chọn những điểm mốc trên khuôn mặt phù hợp để loại bỏ vùng này, cuối cùng, chúng em thu được kết quả như hình 3.4 dưới đây

Hình 3.24 Khuôn mặt ban đầu (a), khuôn mặt sau khi được cắt vùng mắt, mũi, miệng và nền (b) 3.2.3 Đề xuất phương pháp phân loại mức độ nghiêm trọng vấn đề da Đồ án tập trung giải quyết phương án chạy trên thiết bị tại biên với tốc độ nhanh và độ chính xác chấp nhận được Phần này thảo luận về việc lựa chọn các phương pháp phù hợp với mục tiêu trên.

3.2.3.1 Mô hình phân loại nhẹ phù hợp chạy trên mobile

Dựa vào kết quả khảo sát trong Bảng 2.5 về các mạng CNN nhanh và nhẹ cho bài toán phân loại, mô hình MobileNetV2 được lựa chọn làm mạng phân loại vì kích thước gọn nhẹ (17.8MB) và độ chính xác cao (92.45% - Top1).

Phần tiếp theo sẽ cung cấp các thông tin chi tiết về kiến trúc mô hình và cách hoạt động của MobileNetV2.

Lớp inverted residual và lớp linear bottleneck trong MobileNetV2[37] cho phép cân bằng giữa độ chính xác và hiệu suất trong thiết bị di động và thiết bị nhúng Các tích chập sâu phân tách (Depth-wise Separable Convolutions) của MobileNetV1[38] được mở rộng bởi lớp mới Lớp mới này có thể được cấu hình để tiến hành phân loại, phát hiện hoặc phân vùng ngữ nghĩa là nền tảng của mạngMobileNetV2. a) Tích chập sâu phân tách (Depth-wise Separable Convolutions)

Tích chập sâu phân tách là một loại tích chập có hệ số được giới thiệu trong MobileNetV1 với mục tiêu là giảm kích thước mô hình từ đó giúp giảm khối lượng tính toán khi so sánh với các tích chập thông thường Tích chập sâu phân tách cũng được tích hợp trong lớp MobileNetV2 mới Mặc dù tích chập thông thường chứa lọc không gian và kết hợp tuyến tính tuy nhiên không thể phân tích hai giai đoạn Như trước đây, giả sử một thể tích đầu vào của DuxDuxM được chuyển thành thể tích đầu ra DvxDvxN, như thể hiện trong Hình 3.5(a) Bộ lọc đầu tiên thể hiện trong Hình 3.5(b), bao gồm các bộ lọc kênh đơn M, ánh xạ đầu vào thành Dvx DvxM trên mỗi kênh cơ sở Giai đoạn này được gọi là các tích chập sâu phân tách đạt được các thành phần lọc không gian Để xây dựng các tính năng mới đã được ghi lại bởi khối đầu vào yêu cầu phải kết hợp tuyến tính. Để làm được như vậy, kernel 1x1 được sử dụng dọc theo độ sâu của tensor trung gian, bước này được gọi là tích chập điểm N bộ lọc như vậy được sử dụng dẫn đến khối lượng đầu ra mong muốn là DvxDvxN.

Hình 3.25 Thể tích đầu vào và đầu ra mong muốn (a) thu được bằng cách áp dụng hai bộ lọc khác nhau (b) và (c) [39]

Các bước trên được tóm tắt như trong ví dụ dưới đây với đầu vào là 7x7x3 và đầu ra là 5x5x128.

Hình 3.26 Ví dụ cụ thể về tích chập sâu phân tách [39]

Việc giảm thiểu chi phí tích toán của tích chập sâu phân tách là kết quả của việc hạn chế lọc không gian trong các tích chập tiêu chuẩn từ thời gian M*N lần đến M lần Chi phí tính toán của tích chập tiêu chuẩn theo thứ tự D r 2 MD v 2 N, trong khi chi phí của tích chập sâu phân tách theo thứ tự D r 2 MD v 2 N + MD v 2 N So sánh chi phí tính toán của tích chập sâu phân tách và tích chập thông thường thì chi phí tính toán đã giảm được 1/N + 1/D r 2 N thường sẽ lớn hơn D r 2 trong ứng dụng thực tế, đặc biệt là khi người ta đi sâu vào mạng, do đó tỷ lệ có thể được xấp xỉ bằng 1/D x 2 , ví dụ các tích chập sâu phân tách đòi hỏi tính toán ít hơn so với các tích chập thông thường khi sử dụng kernel 3x3. b) Lớp Inverted Residual và Linear Bottleneck Layer

Tiền đề của lớp Inverted Residual là a) bản đồ đặc trưng có thể được mã hoá trong các không gian con có số chiều thấp và b) kích hoạt phi tuyến làm mất khả năng biểu diễn thông tin mặc dù khả năng của chúng làm tăng độ phức tạp trong biểu diễn Những nguyên tắc này hướng dẫn thiết kế lớp tích chập mới

Lớp tích chập này lấy 1 low-dimensional tensor với k kênh và thực hiện ba phép tích chập riêng biệt Đầu tiên, một tích chập theo chiều kim đồng hồ (1x1) được sử dụng để mở rộng bản đồ đặc trưng đầu vào không gian đa chiều thấp (low-dimensional) thành một không gian đa chiều cao hơn (higher-dimensional) phù hợp với hơn với các kích hoạt phi tuyến, sau đó ReLU6 được áp dụng Hệ số mở rộng được gọi là t dẫn đến có tk kênh trong bước đầu tiên này Tiếp theo, một tích chập sâu phân tách được thực hiện bằng cách sử dụng kernel 3x3, sau đó là kích hoạt ReLU6, đạt được khả năng lọc không gian của tensor có chiều cao hơn. Cuối cùng, bản đồ đặc trưng đã được lọc theo không gian được chiếu trở lại một không gian con đã chiều thấp hơn bằng cách sử dụng một tích chập sâu phân tách khác Phép chiếu này đã dẫn đến mất thông tin, vì vậy, để giữ lại các thông tin quan trọng thì hàm kích hoạt trong bước cuối cùng phải là hàm kích hoạt tuyến tính (linear activation) Lý do cho việc chọn hàm kích hoạt tuyến tính được giải thích thêm ở phần dưới Khi bản đồ đặc trưng ban đầu và cuối cùng có cùng kích thước (khi stride của tích chập sâu phân tách bằng một và các kênh đầu vào và đầu ra bằng nhau) một số kết nối dư sẽ được thêm vào để hỗ trợ luồng gradient trong quá trình truyền ngược Lưu ý rằng hai bước cuối cùng là tích chập sâu phân tách với yêu cầu phải giảm kích thước.

Hình 3.27 Trực quan hoá bản đồ đặc trưng trong khối dư đảo ngược

Kết luận

Chương 3 đã mô tả tổng quan phương pháp đề xuất giải quyết bài toán phân loại và phân vùng mức độ nghiêm trọng da Sau đó đi sâu vào trình bày chi tiết về mô hình YOLO5-Face cho bài toán phát hiện khuôn mặt và hai mô hình cho bài toán phân loại gồm có MobilenetV2 thiết kế nhỏ gọn có thể tích hợp trên các thiết bị có tài nguyên hạn chế Bên cạnh đó, nhóm còn đi sâu vào bài toán phân vùng các vấn đề da sử dụng mô hình UNET Tiếp theo, chương 4 sẽ trình bày chi tiết về bộ dữ liệu đã được thu thập, quy trình gán nhãn dữ liệu, các siêu tham số được sử dụng để huấn luyện mô hình và kết quả đánh giá chi tiết.

KẾT QUẢ VÀ ĐÁNH GIÁ

Thu thập dữ liệu

Theo nghiên cứu trong đồ án “Phân loại mức độ nghiêm trọng vấn đề da dựa trên phân tích hình ảnh sử dụng học sâu” được trình bày bởi Bùi Ngọc Tâm

20193090 Lớp Điện tử 05 – K64 cung cấp 2 bộ dữ liệu gán nhãn phân loại mức độ nghiêm trong các vấn đề da mặt như sắc tố da, nếp nhăn, lỗ chân lông là AICS Skin O và AICS Skin E Bộ dữ liệu AICS Skin O gồm 2760 hình ảnh gương mặt tự thu thập trên các trang web như Google, Istock, Roboflow và sử dụng các bộ dữ liệu như CelebAMask-HQ và FFHQ Bộ dữ liệu AICS Skin E là tập dữ liệu mở rộng từ bộ dữ liệu AICS Skin O sau khi bổ sung thêm các dữ liệu hình ảnh gương mặt được tạo ra bởi pre-trained StyleGAN3. Để tăng cường độ chính xác của mô hình phân loại, chúng em đã hợp tác với các trung tâm spa và bệnh viện da liễu để thu thập thêm các hình ảnh khuôn mặt và hỗ trợ phân loại các tình trạng da mặt Việc thu thập dữ liệu phải tuân thủ các nguyên tắc đạo đức và bảo mật, đồng thời cần có sự đồng ý của bệnh nhân. Trong đồ án này, việc thu thập hình ảnh khuôn mặt được thực hiện thông qua tìm kiếm trong các nhóm thẩm mỹ trên trang web như Google và Facebook Để đảm bảo chất lượng của bộ dữ liệu, chỉ các hình ảnh khuôn mặt chính diện, không trang điểm, không đeo kính, khẩu trang và có thể nhìn rõ các vấn đề sắc tố, nếp nhăn và lỗ chân lông mới được lựa chọn Trong quá trình thu thập dữ liệu, việc đa dạng hóa môi trường tự nhiên cũng được ưu tiên Kết quả dữ liệu khuôn mặt đối mặt với các vấn đề da đã thu thập bao gồm 700 ảnh và được dùng để mở rộng tập dữ liệu AICS Skin E gọi là tập dữ liệu AICS Skin E Plus.

Các chỉ số đánh giá

Đồ án tập trung vào 2 bài toán chính là bài toán phân loại ba vấn đề trên da (sắc tố da, nếp nhăn và lỗ chân lông) và khoanh vùng những vùng da có vấn đề cho nên cần các chỉ số đánh giá thích hợp cho từng bài toán.

4.2.1 Chỉ số đánh giá cho bài toán phân loại mức độ nghiêm trọng vấn đề da Đối với bài toán phân loại mức độ nghiêm trọng vấn đề da, 4 thông số được sử dụng để đánh giá bài toán bao gồm Accuracy, Precision, Recall và F1-score.

Accuracy là một thước đo nguyên mẫu trong học máy Accuracy được tính như trong công thức (4.6):

Accuracy=Số mẫu dự đoán đúng

Các chỉ số Precision và Recall vẫn được như công thức (4.2) và (4.3) đã đề cập ở trên tuy nhiên các định nghĩa về giá trị TP, TN, FP, FN trong bài toán phân loại khác so với trong bài toán phát hiện

 TP: Các giá trị thực tế là Positive và mô hình cũng dự đoán là Positive.

 TN: Các giá trị thực tế là Negative, mô hình dự đoán đúng là Negative.

 FP: Các giá trị thực tế là Negative nhưng mô hình dự đoán sai là Positive.

 FN: Các giá trị thực tế là Positive nhưng mô hình dự đoán sai là Negative.

F1-score là một chỉ số đánh giá hiệu suất của mô hình học máy, thường được áp dụng trong bài toán phân loại Nó kết hợp giữa precision và recall để đánh giá sự cân bằng giữa việc tránh sai dự đoán dương (False Positives) và tránh bỏ sót dự đoán dương (False Negatives) Giá trị F1-score nằm trong khoảng từ 0 đến 1, với 1 là điểm tốt nhất, đồng nghĩa với việc mô hình có hiệu suất tốt nhất trong việc cân bằng precision và recall.

F1-score được tính như công thức (4.7):

F1−score=2∗precision∗recall precision+recall

4.2.2 Chỉ số đánh giá cho bài toán khoanh vùng những vùng da có vấn đề Đối với bài toán khoanh vùng những vùng da có vấn đề da, 4 thông số được sử dụng để đánh giá bài toán bao gồm Precision, Recall, mAP, JSI.

 Precision recall Curve và Average Precision Đường cong thu hồi chính xác là đồ thị của độ chính xác trên trục tung và thu hồi chính xác trên trục hoành.

Hình 4.1 Đường cong Precision - Recall [49]

Cần đưa ra ngưỡng phát hiện đối tượng Việc tăng ngưỡng sẽ làm giảm nguy cơ “overfitting” trong phát hiện các các đối tượng đồng thời tăng nguy cơ bỏ lỡ việc phát hiện Ví dụ: nếu threshold = 1,0 thì mô hình không phát hiện được đối tượng nào, Precision là 1,0 và Recall là 0,0 Tuy nhiên, nếu threshold 0,0 thì vô số đối tượng sẽ được phát hiện, Precision sẽ là 0,0 và Recall sẽ là 1,0.

Việc phát hiện quá mức (over-detection) sẽ không xảy ra trong trường hợp mô hình học máy tốt ngay cả khi ngưỡng giảm (Recall được tăng lên và Accuracy sẽ vẫn ở mức cao) Kết quả là mô hình học máy càng tốt thì đường cong bên phải trong biểu đồ càng cao. Định nghĩa chung cho Accuracy Precision (AP) là vùng nằm dưới đường cong thu hồi độ chính xác ở trên, có hàm p(r) trong phương trình 4.4.

Precision và Recall luôn nằm trong khoảng từ 0 đến 1 Do đó, AP cũng nằm trong khoảng 0 và 1.

Mean Average Precision (mAP) là trung bình cộng các giá trị AP cho tất cả các đối tượng khác nhau Công thức mAP được tính toán như trong phương trình (4.5). mAP = ∑ i=0 n

Trong đó C là tổng số lớp cần phát hiện.

JSI (Jaccard Similarity Index), hay còn gọi là Chỉ số tương tự Jaccard, là một thước đo thống kê để so sánh sự tương đồng giữa hai tập hợp Nó được tính bằng cách chia số lượng phần tử chung của hai tập hợp cho tổng số phần tử trong cả hai tập hợp, trừ phần tử chung đó.

 ∣𝐴∩𝐵∣ là số lượng phần tử chung của hai tập hợp A và B.

 ∣𝐴∪𝐵∣ là tổng số lượng phần tử trong hai tập hợp A và B.

JSI có giá trị từ 0 đến 1, trong đó 0 chỉ ra không có sự tương đồng giữa hai tập hợp, và 1 chỉ ra hai tập hợp là hoàn toàn giống nhau Chỉ số này được sử dụng rộng rãi trong các lĩnh vực như khoa học dữ liệu, sinh học, trí tuệ nhân tạo và nhiều lĩnh vực khác để đánh giá mức độ tương tự giữa các tập dữ liệu hoặc các bộ phận khác nhau của dữ liệu.

Triển khai chi tiết

4.3.1 Gán nhãn dữ liệu cho bài toán phân loại

Các vấn đề về da như sắc tố da, nếp nhăn trán, nếp nhăn mắt, nếp nhăn rãnh miệng và lỗ chân lông sẽ được phân chia thành ba mức độ: nghiêm trọng, trung bình và tốt Quá trình gán nhãn dữ liệu cho bài toán phân loại sẽ được thực hiện bởi các thành viên không chuyên, và sau đó được kiểm tra bởi những chuyên gia có kinh nghiệm trong lĩnh vực chăm sóc da Ban đầu, dữ liệu sau khi thu thập sẽ được các thành viên trong AICS Lab gán nhãn mức độ nghiêm trọng theo các tiêu chí được thảo luận và thống nhất với các trung tâm spa Sau đó, một quá trình kiểm tra chéo sẽ được thực hiện để đảm bảo tính nhất quán trong việc đánh giá mức độ nghiêm trọng Kết quả sau đó sẽ được gửi cho các chuyên gia để đánh giá và phản hồi lại về mức độ nghiêm trọng của các vấn đề da Các chuyên gia sẽ điều chỉnh kết quả để cải thiện cảm quan gán nhãn của các thành viên không chuyên, đảm bảo tính chính xác và đồng nhất Kết quả cảm quan này sẽ tiếp tục được gửi cho các chuyên gia bên trung tâm spa để đánh giá Quy trình này đảm bảo rằng bộ dữ liệu AICS Skin E Plus được gán nhãn một cách đáng tin cậy, kết hợp cả đánh giá từ người không chuyên và từ những chuyên gia có kinh nghiệm.

Các tiêu chí gán nhãn được sử dụng theo nghiên cứu trong đồ án “Phân loại mức độ nghiêm trọng vấn đề da dựa trên phân tích hình ảnh sử dụng học sâu” được trình bày bởi Bùi Ngọc Tâm 20193090 Lớp Điện tử 05 – K64.

 Tiêu chí gán nhãn mức độ nghiêm trọng cho nếp nhăn

Bảng 4.1 mô tả các tiêu chí đánh giá mức độ nghiêm trọng của nếp nhăn đã được thống nhất với trung tâm spa.

Bảng 4.8 Tiêu chí gán nhãn cho nếp nhăn trán, nếp nhăn mắt và nếp nhăn rãnh miệng

Vấn đề da Mức độ nghiêm trọng Tiêu chí gán nhãn

Nếp nhăn trán Tốt Trán hầu như không có nếp nhăn, da căng mịn

Trung bình Có một vài nếp nhăn nhưng mảnh và không bị hằn sâu.

Nghiêm trọng Nhiều nếp nhăn sâu, dày, rõ ràng nhìn thấy bằng mắt thường.

Nếp nhăn mắt Tốt Quanh mắt không có vết nhăn hằn xuống.

Trung bình Có xuất hiện các nếp nhăn mảnh ở dưới mắt hoặc vết chân chim.

Nghiêm trọng Các nếp nhăn sâu, rõ nét, đặc biệt là các vết chân chim ở đuôi mắt.

Tốt Không nhìn thấy rãnh nhăn quanh miệng.

Trung bình Có xuất hiện nếp nhăn quanh miệng nhưng nếp nhăn mảnh và nông.

Nghiêm trọng Các nếp nhăn dài và hằn sâu xuất hiện ngay cả khi không cười.

Tốt Trung bình Nghiêm trọng

Hình 4.31 Minh hoạ 3 mức độ nghiêm trọng của nếp nhăn trán

Tốt Trung bình Nghiêm trọng

Hình 4.32 Minh hoạ 3 mức độ nghiêm trọng của nếp nhăn mắt

Tốt Trung bình Nghiêm trọng

Hình 4.33 Minh hoạ 3 mức độ nghiêm trọng của nếp nhăn rãnh miệng

 Tiêu chí gán nhãn mức độ nghiêm trọng cho lỗ chân lông

Các tiêu chí đánh giá mức độ nghiêm trọng của lỗ chân lông được mô tả trong Bảng 4.2.

Bảng 4.9 Tiêu chí gán nhãn cho lỗ chân lông

Vấn đề da Mức độ nghiêm trọng Tiêu chí đánh giá

Lỗ chân lông Tốt Lỗ lông nhỏ, khít.

Trung bình Nhìn rõ lỗ chân lông nhưng lỗ chân lông không quá to.

Nghiêm trọng Lỗ chân lông to và nhìn rõ ngay cả khi không cần phóng to hình ảnh Vùng da có lỗ chân lông to thường trở nên bóng dầu.

Tốt Trung bình Nghiêm trọng

Hình 4.34 Minh hoạ 3 mức độ nghiêm trọng của lỗ chân lông

 Tiêu chí gán nhãn mức độ nghiêm trọng cho sắc tố da

Các tiêu chí gán nhãn mức độ nghiêm trọng cho sắc tố da được mô tả trong Bảng 4.3.

Bảng 4.10 Tiêu chí gán nhãn cho sắc tố da

Vấn đề da Mức độ nghiêm trọng Tiêu chí gán nhãn

Sắc tố da Tốt Da đều màu, không xuất hiện các đốm nhỏ sẫm màu (đốm màu đen, vàng, nâu) trên khuôn mặt.

Trung bình Có xuất hiện một vài đốm nhỏ sẫm màu trên khuôn mặt nhưng số lượng ít và không gây mất thẩm mỹ.

Nghiêm trọng Số lượng đốm sẫm màu nhiều, các đốm có thể to, phân bố toàn khuôn mặt hoặc tập trung ở một vùng khuôn mặt.

Tốt Trung bình Nghiêm trọng Hình 4.35 Minh hoạ 3 mức độ nghiêm trọng của sắc tố da

Tập dữ liệu sau khi đã được gán nhãn mức độ nghiêm trọng sẽ được chia ra làm 2 tập dữ liệu con với tỷ lệ: 90% train, 10% validation và chọn ra mô hình có độ chính xác trên tập validation cao nhất để đánh giá trên tập test của bộ dữ liệu AICS Skin E đã được tạo trước đó để so sánh

Bảng 4.4 thể hiện sự phân bố số lượng mẫu cho từng lớp trong tập train của AICS Skin E Plus.

Bảng 4.11 Thống kê số lượng mẫu có trong tập train

Số lượng mẫu cho từng class AICS Skin E Plus

Số lượng mẫu trong tập validation của bộ dữ liệu AICS Skin E Plus được thể hiện trong bảng 4.5.

Bảng 4.12 Thống kê số lượng mẫu có trong tập validation

Số lượng mẫu cho từng class AICS Skin E Plus

Bảng 4.6 thể hiện sự phân bố số lượng mẫu cho từng lớp trong tập test dữ liệu AICS Skin E Plus.

Bảng 4.13 Thống kê số lượng mẫu có trong tập test

Số lượng mẫu cho từng class AICS Skin E Plus

4.3.2 Gán nhãn dữ liệu cho bài toán phân vùng (khoanh vùng vùng da)

Quá trình gán nhãn dữ liệu cho bài toán phân loại sẽ được thực hiện bởi các thành viên không chuyên, và sau đó được kiểm tra bởi những chuyên gia có kinh nghiệm trong lĩnh vực chăm sóc da Chúng em sử dụng những hình ảnh khuôn mặt trong bộ AICS Skin O để gán nhãn cho bài toán phân vùng các vùng da Bộ dữ liệu về khuôn mặt sẽ được các thành viên trong AICS Lab gán nhãn theo các tiêu chí được thảo luận và thống nhất với các trung tâm spa Sau đó, một quá trình kiểm tra chéo sẽ được thực hiện để đảm bảo tính nhất quán trong việc đánh giá mức độ nghiêm trọng Kết quả sau đó sẽ được gửi cho các chuyên gia để đánh giá và phản hồi lại về kết quả khoanh vùng vùng da có vấn đề Các chuyên gia sẽ điều chỉnh kết quả để cải thiện cảm quan gán nhãn của các thành viên không chuyên, đảm bảo tính chính xác và đồng nhất Kết quả cảm quan này sẽ tiếp tục được gửi cho các chuyên gia bên trung tâm spa để đánh giá Quy trình này đảm bảo rằng bộ dữ liệu mới AICS Skin O Seg dành riêng cho bài toán phân vùng được gán nhãn một cách đáng tin cậy, kết hợp cả đánh giá từ người không chuyên và từ những chuyên gia có kinh nghiệm.

 Tiêu chí gán nhãn cho nếp nhăn Đặc điểm: nếp nhăn là các đường kẻ, có độ sâu sâu hơn so với vùng da xung quanh (hay nếp nhăn là vệt đã hằn lại trên da)

Vị trí: xuất hiện ở vùng trán, vùng miệng và vùng mắt

Nếp nhăn nhìn rõ nét

Nếp nhăn mảnh Nếp nhăn li ti

Hình 4.36 Minh hoạ các loại của nếp nhăn

 Tiêu chí gán nhãn vùng da cho lỗ chân lông Đặc điểm: là các vùng gồm các lỗ chân lông, tâm của lỗ có màu đậm hơn so với vùng da xung quanh, có thể nhận thấy bằng mắt thường, (vùng lỗ chân lông to thường có tính đối xứng)

Ví trí: thường xuất hiện theo từng vùng trên vùng má và mũi, cũng có trường hợp xuất hiện ở vùng trán và cằm (một số trường hợp ảnh chụp thì có thể nó là vùng da bị bóng dầu nên không nhận ra vùng lỗ chân lông to).

Hình 4.37 Minh hoạ vùng của lỗ chân lông to

 Tiêu chí gán nhãn từng vùng cho sắc tố da Đặc điểm: Là các vùng da có các đốm sẫm màu hơn so với vùng da xung quanh, các đốm có thể to hoặc nhỏ

Ví trí: có thể xuất hiện bất kỳ vị trí nào trên khuôn mặt

Hình 4.38 Minh hoạ vùng da có vấn đề sắc tố da

Tập dữ liệu sau khi đã được gán nhãn sẽ được chia ra làm 3 tập dữ liệu con với tỷ lệ: 80% train, 10% validation, 10% test

Bảng 4.7 Thể hiện sự phân bố số lượng mẫu trong tập train của AICS Skin

Bảng 4.14 Thống kê số lượng mẫu có trong tập train

Vấn đề da Số lượng mẫu

Số lượng mẫu trong tập validation của bộ dữ liệu gốc AICS Skin O seg được thể hiện trong bảng 4.8.

Bảng 4.15 Thống kê số lượng mẫu có trong tập validation

Vấn đề da Số lượng mẫu

Bảng 4.9 thể hiện sự phân bố số lượng mẫu trong tập test của dữ liệu gốc AICS Skin O seg

Bảng 4.16 Thống kê số lượng mẫu có trong tập test

Vấn đề da Số lượng mẫu

Trong đồ án này, chúng em áp dụng mô hình YOLO5-Face cho bài toán phát hiện khuôn mặt, hình MobileNetV2 cho nhiệm vụ phân loại dành cho thiết bị di động đồng thời sử dụng mô hình UNET cho phân vùng cả 3 vấn đề về da.

Mô hình phát hiện khuôn mặt sử dung pre-trained đã được kiểm tra lại Trong khi đó, mô hình phân loại đã được huấn luyện trong 100 epochs với batch size là 16,

32 và 64, các tham số khác tương tự như trong bài báo "Classifying Conditions of Speckle and Wrinkle on the Human Face" [30] Đối với tác vụ phân vùng sử dụng mô hình UNET thì sẽ được huấn luyện trọng 150 epochs, các tham số khác giữ nguyên như tác giả cung cấp trong bài báo.

Tất cả các thử nghiệm trong báo cáo đã được thực hiện trên một môi trường ảo trên Kaggle, với 29GB RAM và sử dụng GPU T4x2 để tăng tốc độ tính toán trong quá trình huấn luyện.

4.3.4 Tối ưu siêu tham số sử dụng gird search (GS)

Grid search là một kỹ thuật quan trọng trong việc điều chỉnh siêu tham số trong học máy, được sử dụng rộng rãi để tìm ra tổ hợp tối ưu nhất của các siêu tham số cho mô hình Siêu tham số là các biến không gian mà người dùng xác định trước quá trình huấn luyện, bao gồm các thông số như learning rate, số lớp ẩn, v.v Phương pháp Grid Search sử dụng tìm kiếm vét cạn, tức là tạo ra một lưới các giá trị có thể cho các siêu tham số được xác định trước Mỗi tổ hợp siêu tham số trong lưới sẽ được sử dụng để huấn luyện và đánh giá mô hình, thường kèm theo việc sử dụng kỹ thuật xác thực chéo để đảm bảo kết quả đáng tin cậy. Hiệu suất của từng mô hình sau đó sẽ được so sánh, và tổ hợp siêu tham số tạo ra hiệu suất tốt nhất cho mô hình sẽ được lựa chọn Dù phương pháp triển khai của Grid Search khá đơn giản, nhưng số lượng trường hợp thử nghiệm tăng một cách đáng kể theo cấp số nhân khi số lượng siêu tham số và số lượng giá trị thử nghiệm tăng lên Ví dụ, nếu mô hình có n siêu tham số và mỗi siêu tham số có m giá trị thử nghiệm, độ phức tạp của thuật toán là O(nm) Vì vậy, phương pháp này thường được áp dụng khi ta có thể giới hạn được phạm vi thử nghiệm của các siêu tham số.

 Các siêu tham số và dải giá trị tìm kiếm trong GS

Trong việc phân loại mức độ nghiêm trọng của các vấn đề da bao gồm sắc tố da, nếp nhăn và lỗ chân lông mô hình MobileNetV2 được sử dụng với một không gian tìm kiếm được giới hạn thành 18 trường hợp, như được mô tả trong Bảng 4.10.

Bảng 4.17 Không gian tìm kiếm cho mô hình MobileNetV2

Kết quả và đánh giá

4.4.1 Đánh giá mô hình phát hiện khuôn mặt Đối với bài toán phát hiện khuôn mặt, mô hình YOLO5-Face đã được lựa chọn vì đã được đào tạo trên tập dữ liệu khuôn mặt WIDER FACE đầy thách thức Sau khi kiểm tra độ uy tín của mô hình YOLO5-Face bằng cách tái hiện code với tập dữ liệu mà bài báo [24] đề cập, mô hình được sử dụng đánh giá phát hiện khuôn mặt cho tập AICS Skin E Plus.

4.4.1.1 Bộ dữ liệu WIDER FACE

Bộ dữ liệu WIDER FACE là tiêu chuẩn để đánh giá nhận diện khuôn mặt, được chọn lọc từ bộ WIDER công khai, gồm 32.203 hình ảnh và gắn nhãn 393.703 khuôn mặt với sự biến đổi lớn về tỷ lệ, tư thế và che phủ Bộ dữ liệu này tổ chức dựa trên 61 lớp sự kiện và chia thành ba tập con Easy, Medium và Hard theo kích thước khuôn mặt, độ che khuất, và điều kiện ánh sáng, với tập Hard là khó phát hiện nhất Mỗi lớp sự kiện có tập huấn luyện, xác thực và kiểm tra chia ngẫu nhiên theo tỷ lệ 40%/10%/50%

4.4.1.2 Tái hiện mô hình YOLO5-Face trên bộ dữ liệu WIDER FACE

 Đánh giá mô hình trên tập test WIDER FACE

Bảng 4.18 So sánh kết quả tái hiện code và kết quả đưa ra bởi paper

Kết quả được đưa ra bởi paper Kết quả tái hiện code

Easy Medium Hard Easy Medium Hard

Dựa kết quả đánh giá mô hình trên tập test của bộ WIDER FACE, ta thấy kết quả thu được sau khi tái hiện code tương đương với kết quả đưa ra bởi paper điều đó chứng tỏ mô hình uy tín Do các siêu tham số batch size khác nhau nên có sự chệnh lệch trên các tập Easy, Medium đối với mô hình YOLOv5n và tập Hard đối với YOLOv5n0.5 Đối với tập Hard thì kết quả sau khi tái hiện code tăng lên 0.06% so với kết quả đưa ra bởi paper.

4.4.1.3 Đánh giá mô hình YOLO5-Face trên tập AICS Skin E Plus

Tập dữ liệu AICS Skin E Plus bao gồm hình ảnh khuôn mặt chính diện,không đeo các phụ kiện như khẩu trang và chụp trong các điều kiện tự nhiên.Mỗi ảnh chỉ có 1 khuôn mặt duy nhất Lựa chọn ngẫu nhiên 100 ảnh từ tập dữ liệu sử dụng mô hình yolov5n-0.5 và yolov5n dự đoán và tiến hành quan sát.

Hình 4.39 Kết quả phát hiện khuôn mặt sử dụng YOLOv5n

Hình 4.40 Kết quả phát hiện khuôn mặt sử dụng YOLOv5n-0.5

Từ Error: Reference source not found và Hình 4 40 Kết quả phát hiện khuôn mặt sử dụng YOLOv5n-0.5, ta thấy cả 2 mô hình YOLOv5n-0.5 và YOLOv5n có bounding box sát gương mặt phù hợp với tiêu chí đặt ra Trong khi đó số lượng tham số và khối lượng tính toán của YOLOv5n0.5 nhỏ hơn rất nhiều so với phiên bản YOLOv5n (YOLOv5n có số lượng tham số gấp 3.9 lần và khối lượng tính toán gấp 3.7 lần so với YOLOv5n0.5) [24].

4.4.2 Huấn luyện và đánh giá mô hình phân loại mức độ nghiêm trọng vấn đề da Đối với bài toán phân loại các mức độ nghiêm trọng vấn đề da, đồ án sử dụng mô hình phân loại là MobileNetV2 đã được đào tạo từ trước trên bộ dữ liệu ImageNet.

ImageNet là bộ dữ liệu nổi tiếng nhất trong lĩnh vực học sâu và thị giác máy tính Nó không chỉ cung cấp dữ liệu đa dạng mà còn đóng vai trò quan trọng trong các cuộc thi và nghiên cứu về phát triển các thuật toán nhận diện hình ảnh và phân loại đối tượng Tập dữ liệu này có kích thước lên đến 150 GB và bao gồm 1.281.167 hình ảnh để đào tạo và 50.000 hình ảnh để xác thực, được sắp xếp thành 1.000 danh mục, vượt trội hơn nhiều so với các bộ phân loại hình ảnh khác như MNITST và CIFAR-10.

4.4.2.2 Kết quả chạy mô hình MobileNetV2 cho bài toán phân loại

Phương pháp grid search được sử dụng để tối ưu hóa bộ siêu tham số của mô hình MobileNetV2 trên tập dữ liệu về sắc tố da, nếp nhăn và lỗ chân lông.

Kết quả trong Bảng 4 19 Kết quả đánh giá model MobileNetV2 cho thấy rằng việc tinh chỉnh bộ siêu tham số đã cải thiện hiệu suất của mô hình Mô hình MobileNetV2 sau khi được tinh chỉnh và kiểm thử trên tập dữ liệu AICS Skin E Plus Độ chính xác trên các tập dữ liệu về nếp nhăn trán, nếp nhăn mắt, nếp nhăn rãnh miệng và lỗ chân lông đã được cải thiện đáng kể, sự cải thiện này đạt được khi mô hình kiểm thử trên cùng tập dữ liệu test với dữ liệu AICS Skin E Độ chính xác trên tập nếp nhăn trán của bộ dữ liệu AICS Skin E Plus đạt 89.02% (tăng 3.14% so với tập dữ liệu AICS Skin E), nếp nhăn mắt tăng 0.39% (tăng từ 89.41% ® 89.8%), nếp nhăn rãnh miệng có độ chính xác đạt 91.37% (tăng 1.57%), lỗ chân lông tăng 0.8% (tăng từ 73.9% ® 74.7%) và sắc tố da tăng 3.87% (từ 78.26% ® 82.13%).

Bảng 4.19 Kết quả đánh giá model MobileNetV2

Vấn đề da Dữ liệu Hyperparameter s

4.4.3 Huấn luyện và đánh giá mô hình khoanh vùng những vùng da có vấn đề Đối với bài toán khoanh vùng những vùng da có vấn đề, đồ án sử dụng mô hình phân vùng là UNET

Bảng 4.20 Kết quả đánh giá các mô hình phân vùng vấn đề da

Kết luận

Chương 4 mô tả quá trình thu thập dữ liệu, gán nhãn và đánh giá các mô hình MobileNetV2 Đối với phân loại vấn đề da, mô hình đạt độ chính xác trên 80% trên tập dữ liệu sắc tố da và nếp nhăn trán, nếp nhăn mắt và nếp nhăn rãnh miệng, và trên 70% trên tập dữ liệu lỗ chân lông Ngoài ra, độ chính xác cho vấn đề lỗ chân lông và nếp nhăn của bài toán phân vùng đều đạt trên 50% Tuy nhiên,kết quả bài toán phân vùng cho vấn đề sắc tố chỉ đạt 30.6%, một phần nguyên nhân có thể do số lượng ảnh cho vấn đề này đang thấp hơn hai vấn đề trên.

XÂY DỰNG ỨNG DỤNG ANDROID PHÂN TÍCH DA MẶT SỬ DỤNG CÁC MÔ HÌNH ĐÃ HUẤN LUYỆN

Yêu cầu ứng dụng

Cần có: điện thoại di động

5.1.1.2 Yêu cầu phần mềm Ứng dụng có thể chụp ảnh từ camera hoặc tải ảnh lên từ thư viện ảnh (hình ảnh chứa gương mặt người) từ đó có thể đưa ra kết quả chất lượng từng vùng da, tô đậm các vùng da có vấn đề dựa trên hình ảnh đầu vào.

5.1.1.3 Yêu cầu về dữ liệu

Bảng 5.21 Yêu cầu dữ liệu

Hình ảnh đầu vào Hình ảnh chụp từ camera hoặc tải ảnh lên từ thư viện ảnh trong điện thoại

Kết quả đầu ra Kết quả đánh giá chất lượng da mặt, hình ảnh tô đậm các vùng da có vấn đề.

Bất kì ai sử dụng điện thoại di động muốn biết về tình trạng da mặt của mình

5.1.1.5 Yêu cầu phi chức năng

Bảng 5.22 Yêu cầu phi chức năng

Yêu cầu phi chức năng Mô tả

Hoạt động Hệ thồng hoạt động trên các thiết bị điện thoại di động không cần kết nối mạng.

Kết quả trả về cho khách không quá 4s khi khách hàng đã chọn ảnh phân tích. Độ chính xác các mô hình khi chạy trên điện thoại di động chênh lệch không quá 1% so với mô hình trên PC

Ngôn ngữ sử dụng Tiếng anh

Phân tích ứng dụng

Bảng 5.23 Các phần tử của Use case.

Phần tử mô hình Ý nghĩa Cách biểu diễn Ký hiệu trong biểu đồ

Biểu diễn một chức năng xác định của hệ thống

Hình elip chứa tên của use case

Là một đối tượng bên ngoài hệ thống tương tác trực tiếp với các use case

Biểu diễn bởi một lớp kiểu actor

Mối quan hệ giữa các use case

Association: thường được dùng để mô tả mối quan hệ giữa Actor và Use Case hay giữa các Use Case với nhau

Association có dạng nét liền

Include: là mối quan hệ giữa các Use Case với nhau mô tả việc một Use case lớn được chia thành các Use Case nhỏ để dễ cài đặt hoặc dùng lại

Include có dạng các mũi tên đứt nét

Extend: mô tả quan hệ giữa hai Use Case được sử dụng khi có một Use Case tạo ra để bổ sung chức năng cho một Use Case có sẵn và được sử dụng trong một điều kiện nhất định

Extend có dạng các mũi tên đứt nét

Hình 5.41 Sơ đồ use case.

Hình 5.42 Sơ đồ Activity Diagram Bảng 5.24 Mô tả quá trình

STT Tên bước Mô tả chi tiết

1 Open app Người dùng mở ứng dụng và chọn ảnh để phân tích da mặt từ thư viện ảnh (gallery) hoặc chụp từ camera.

2 Open gallery và choose 1 image Nếu người dùng chọn ảnh từ thư viện ảnh, ứng dụng sẽ hiển thị toàn bộ ảnh từ thư viện ảnh và người dùng sẽ chọn 1 hình ảnh để phân tích. Tiếp theo ứng dụng sẽ xử lí hình ảnh:

- Nếu hình ảnh không có hoặc có nhiều hơn 1 gương mặt ứng dụng sẽ quay lại bước Open app

- Nếu hình ảnh có 1 gương mặt, hình ảnh sẽ được đưa đi phân tích

3 Open camera Ứng dụng sẽ mở camera trên điện thoại.

4 Change camera Người dùng có thể chọn chụp từ camera trước hoặc sau

5 Take a photo Người dùng ấn chụp ảnh

- Nếu hình ảnh được chụp không có hoặc có nhiều hơn 1 gương mặt sẽ được yêu cầu chụp lại.

- Nếu hình ảnh chỉ có 1 gương mặt sẽ được chấp nhân và người dùng có thể chọn chụp lại ảnh hoặc có thể gửi đi phân tích ngay.

6 Analysis result Ứng dụng sẽ thực hiện quá trình phân tích và trả về kết quả

Sau khi có kết quả phân tích người dùng có thể ấn vào các hình ảnh có vấn đề da để có thể nhìn rõ hơn (có thể zoom).

Sequence diagram (biểu đồ tuần tự) là biểu đồ xác định trình tự diễn ra các sự kiện của một đối tượng hay một nhóm đối tượng Nó miêu tả chi tiết thông tin gửi và nhận giữa các đối tượng, đồng thời chú trọng đến trình tự thời gian gửi và nhận của các thông tin đó.

5.2.3.1 Sequence diagram khi tải ảnh từ thư viện ảnh.

Hình 5.43 Sơ đồ Sequence Diagram khi tải ảnh từ thư viện ảnh

Hình 5.3 biểu diễn sơ đồ tuần tự khi chọn ảnh từ thư viện ảnh để tải lên và phân tích da mặt Khi người dùng nhấn chọn ảnh từ thư viện ảnh, ứng dụng sẽ truy cập không gian lưu trữ ảnh trên điện thoại và trả về các kết quả hình ảnh trên điện thoại Sau đó người dùng sẽ chọn 1 hình ảnh để gửi đi phân tích Trước khi phân tích hình ảnh sẽ được gửi đến mô hình phát hiện gương mặt để đếm số gương mặt có trên hình ảnh Nếu không có hoặc có nhiều hơn 1 gương mặt trong hình ảnh, ứng dụng sẽ quay về màn hình chính và hiển thị thông báo Nếu hình ảnh chỉ có 1 gương mặt dữ liệu hình ảnh sẽ đươc xử lí.

5.2.3.2 Sequence diagram sử dụng camera.

Hình 5.44 Sơ đồ Sequence Diagram khi sử dụng camera

Hình 5.4 biểu diễn sơ đồ tuần tự khi sử dụng camera để chụp ảnh phân tích da mặt Khi người dùng chọn mở camera hệ thống sẽ yêu cầu hệ điều hành truy cập và lấy dữ liệu từ cảm biến camera Khi người dùng ấn chụp ảnh dữ liệu hình ảnh sẽ được một mô hình phát hiện gương mặt phân tích và đếm số gương mặt trên hình ảnh Nếu hình ảnh không có hoặc có nhiều hơn 1 gương mặt ứng dụng sẽ hiển thị thông báo, nếu hình ảnh chỉ có 1 gương mặt dữ liệu trên frame đó sẽ được lưu lại, sau đó người dùng ấn gửi, dữ liệu sẽ được tiền xử lí, gửi đi đến các mô hình phân tích và trả về kết quả Có một vài lựa chọn cho người dùng như đổi camera sẽ đổi chụp ảnh camera sau thành camera trước và ngược lại, hệ điều hành sẽ mở camera tương ứng Khi người dùng đã chụp ảnh và muốn chụp lại có thể ấn nút reload.

5.2.3.3 Sequence diagram xử lí dữ liệu và hiển thị kết quả

Hình 5.45 Sơ đồ Sequence Diagram khi xử lí dữ liệu và hiển thị kết quả

Hình ảnh chỉ có 1 gương mặt sẽ đươc tiền xử lí, sau đó gửi đến các mô hình phân tích và trả về kết quả Sau khi có kết quả người dùng có thể chọn hình ảnh kết quả để hiển thị rõ hơn.

Thiết kế giao diện

Hình 5.46 Giao diện màn hình chính của ứng dụng

Tại giao diện màn hình chính, người dùng có thể chọn ảnh từ thư viện ảnh hoặc chụp ảnh từ camera.

5.3.2 Giao diện thư viện ảnh

Hình 5.47 Giao diện thư viện ảnh

Tại giao diện thư viện ảnh, người dùng sẽ chọn 1 hình ảnh chứa duy nhất 1 gương mặt người để phân tích tình trạng da mặt trên ứng dụng.

5.3.3 Giao diện chụp ảnh sử dụng camera

Tại giao diện camera, người dùng ấn chụp ảnh và ấn gửi để bắt đầu quá trình phân tích da mặt trên ứng dụng Người dùng có thể lựa chọn camera trước hoặc sau để chụp bằng cách nhấn vào biểu tượng xoay camera Sau khi chup, nếu người dùng muốn chụp lại ảnh khác để phân tích có thể ấn biểu tượng chụp lại trên màn hình.

Hình 5.49 Giao diện kết quả

Tại giao diện kết quả, người dùng có thể ấn vào ảnh sau khi đã phân tích để có thể zoom hình ảnh rõ nét hơn.

Triển khai và đánh giá ứng dụng

Dựa theo Bảng phân tích hiệu suất các framework hỗ trợ xây dựng mô hình

AI trên các thiết bị di động, có 2 framework đạt hiệu suất cao nhất cho mô hình MobilenetV2 là TFLite và NCNN Do mô hình MobilenetV2 và Yolov5-face sử dụng khung phát triển của Pytorch và được NCNN hỗ trợ, vì vậy, ứng dụng sẽ sử dụng framework NCNN để xây dựng mô hình phân tích da mặt trên thiết bị di động. Ứng dụng được kiểm tra, đánh giá trên điện thoại Xiaomi redmi note 8 pro, RAM 6GB, CPU 8 nhân 2.05 GHz.

5.4.1 Chuyển đổi mô hình Để có thể áp dụng mô hình học sâu trên nền tảng di động sử dụng framework NCNN, cần phải chuyển đổi mô hình sang dạng phù hợp với framework hỗ trợ. Quy trình chuyển đổi mô hình: pt -> onnx - > ncnn [45]

Trong đó mô hình có đuôi file pt là mô hình đã được huấn luyện trên các thiết bị máy tính sẽ được chuyển đổi sang mô hình onnx sau đó sẽ chuyển đổi về mô hình ncnn gồm 2 file bin chứa các tham số đã được huấn luyện và param mô tả cấu trúc của mô hình.

Các mô hình chuyển đổi không sự dụng prunning, optimize, quantization, … để đảm bảo độ chính xác tốt nhất cho các mô hình khi chạy trên thiết bị di động.

5.4.2 Đánh giá kết quả mô hình phát hiện gương mặt

Bảng 5.5 mô tả kết quả độ chính xác trên tập val với mô hình phát hiện gương mặt với mô hình trước khi chuyển đổi (Yolov5n-0.5.pt) và mô hình sau khi chuyển đổi lên thiết bị di động (ncnn Yolov5n-0.5) sử dụng backbone yolov5n-0.5.

Bảng 5.25 Kết quả độ chính xác tập val của mô hình phát hiện gương trước và sau khi chuyển đổi

Dựa vào kết quả độ chính xác trên tập val của mô hình phát hiện gương mặt của mô hình trước và sau khi chuyển đôi theo bảng 5.6 ta thấy kết quả cho thấy sự lớn hơn độ chính xác trên các mô hình sau khi chuyển đổi từ 0.07% đến 0.67%.

5.4.3 Đánh giá kết quả mô hình phân loại các vấn đề da mặt

Bảng 5.6 mô tả kết quả độ chính xác trên tập test với từng mô hình tương ứng khi chạy trên máy tính và trên điện thoại di động sử dụng backbone Mobilenet V2.

Bảng 5.26 Kết quả độ chính xác trên tập test của từng mô hình trên từng thiết bị

Mô hình Độ chính xác trên PC Độ chính xác trên Android FPS

Dựa vào kết quả độ chính xác trên tập test của từng mô hình khi chạy trên

PC và Android theo bảng 5.6 ta thấy kết quả cho thấy sự chênh lệch độ chính xác trên các thiết bị di động dao động từ -0.4% đến 0.14% Cụ thể, độ chính xác của mô hình sắc tố và nếp nhăn trán, nếp nhăn mắt trên máy tính giữ nguyên khi chạy trên thiết bị di động Độ chính xác của mô hình lỗ chân lông trên máy tính thấp hơn lần lượt là 0.4% so với trên thiết bị di động và độ chính xác của mô hình nếp nhăn rãnh miệng trên điện thoại cao hơn 0.14% so với trên máy tính FPS của các mô hình dao động từ 5.5 đến 6.2.

Kết luận

Chương 5 Thiết kế ứng dụng android sử dụng các mô hình Mobilenet v2 phân loại các vấn đề da Các mô hình phát hiện gương mặt Yolov5-face và mô hình phân loại các vấn đề da sử dụng mô hình Mobilenet V2 khi chạy trên thiết bị di động đều đạt độ chính xác cao so với khi chạy trên các thiết bị PC và thời gian xử lý đạt yêu cầu từ 5.5 đến 6.2 FPS.

Sau một thời gian chủ động, tích cực nghiên cứu và thực hiện đề tài “Phân tích da mặt sử dụng học sâu và triển khai trên ứng dụng android”, Qua khảo sát các công trình nghiên cứu trước đó về phát hiện khuôn mặt, mô hình YOLO5- Face đã được lựa chọn vì kích thước nhẹ và đạt được độ chính xác cao trên tập ảnh khuôn mặt WIDER FACE đầy thách thức Mô hình phân loại mức độ nghiêm trọng cho các vấn đề về da được đề xuất là MobileNetV2 với độ chính xác cao, có kích thước gọn nhẹ có khả năng chạy trực tiếp trên mobile Độ chính xác trên tập test của các vấn đề sắc tố da và nhăn trán, nhăn mắt và nhăn rãnh miệng đều đạt trên 80% đối với mô hình MobileNetV2 đạt mục tiêu đề ra Đối với phân loại mức độ nghiêm trọng của lỗ chân lông, độ chính xác của mô hình đạt trên 70% (< 80%) khi chạy với tham số tốt nhất được tìm kiếm bằng phương pháp grid search tuy nhiên chưa đạt được mục tiêu đề ra Độ chính xác của các mô hình MobileNetV2 khi chạy trên thiết bị di động Xiaomi Redmi Note 8 Pro chênh lệch trong khoảng -0.04% đến 0.14%, tốc độ xử lí trung bình của một mô hình dao động trong khoảng 5.5 đến 6.2 FPS Còn đối với bài toán phân vùng các vùng da có vấn đề trên khuôn mặt độ chính xác của vấn đề về nếp nhăn và lỗ chân lông đều đạt trên 50% đạt mục tiêu đề ra Tuy nhiên, độ chính xác liên quan đến vấn đề sắc tố chỉ đạt khoảng 30% chưa đạt được mục tiêu đề ra.

Dựa trên kết quả đạt được và chưa đạt được, em xin được đề xuất hướng phát triển tiếp theo cho đề tài:

 Tối ưu độ chính xác cho bài toán phân loại và phân vùng các vấn đề về da.

 Tiếp tục mở rộng tập data cho nếp nhăn, sắc tố da và lỗ chân lông bằng các phương pháp sinh dữ liệu toàn mặt sử dụng StyleGAN3.

 Xây dựng một tập dữ liệu với nhiều mức độ nghiêm trọng hơn để có thể đưa ra đánh giá chi tiết nhất về tình trạng da mặt của người dùng.

 Xây dựng một web-app phân tích da mặt thông qua ảnh tự chụp, đưa ra điểm số cho các vấn đề da bao gồm lỗ chân lông, nếp nhăn và sắc tố da,kèm theo đề xuất các sản phẩm phù hợp dựa trên kết quả phân tích.

[1] Skin Care Products Market Size, Share & Trends Analysis Report By

Product (Face Creams & Moisturizers, Sunscreen), By Gender (Male, Female), By Distribution Channel, By Region, And Segment Forecasts,

[2] https://cs231n.github.io/neural-networks-1/, truy nhập cuối cùng ngày

[3] https://www.analyticsvidhya.com/blog/2016/08/evolution-core- concepts-deep-learning-neural-networks/, truy nhập cuối cùng ngày 26/05/2024.

[4] https://cs231n.github.io/convolutional-networks/, truy nhập cuối cùng ngày 26/05/2024.

[5] S Dong, P Wang, K Abbas, “A survey on deep learning and its applications”, ScienceDirect, p6, 2021.

[6] Ross Girshick, Jeff Donahue, Trevor Darrell, Jitendra Malik, “Rich feature hierarchies for accurate object detection and semantic segmentation”, arXiv preprint arXiv: 1311.2524, 2013.

[7] Ross Girshick, “Fast R-CNN”, arXiv preprint arXiv: 1504.08083, 2015. [8] Shaoqing Ren, Kaiming He, Ross Girshick, Jian Sun, “Faster R-CNN:

Towards Real-Time Object Detection with Region Proposal Networks”, arXiv preprint arXiv: 1506.01497, 2016.

[9] Alexey Bochkovskiy, Chien-Yao Wangm, Hong-Yuan Mảk Liao,

“YOLOv4: Optimal speed and accuracy of object detection”, arXiv preprint arXiv: 2004.10934, 2020.

[10] K Gayathri, J.V.D Prasad, T.Divya Kiran, V Mythili, “Forest Fire

Detection using Convoulution Neural Network”, 2022 IEEE 2nd International Conference on Mobile Networks and Wireless Communications (ICMNWC), 2022.

[11] Écun, Yann, Bottou, Leon, Bengio, Yoshua, et al “Gradient-based learning applied to document recognition”, Proceedings of the IEEE,

[12] Phu T Nguyen, Tuan T Nguyen, Ngoc C Nguyen, Thuong T Le

“Muiticlass Breast Cancer Classification Using Convolution Neural Network”, 2019 International Symposium on Electrical and Electronics Engineering (ISEE), 2019.

[13] Shoji Kido, Yasusi Hirano; Noriaki Hashimoto, ”Detection and

Classification of lung abnormalities by using convolution neurnal network (CNN) and regions with CNN features (R-CNN)”, 2018International Workshop on Advanced Image Technology (IWAIT),2019.

[14] Arya Kothari, Dipam Shah, Taksh Soni, Shudhir Dhage, ”Cosmetic

Skin Type Classification using CNN with Product Recomemdation”,

2021 12th International Conference on Computing Communication and Networking Technologies (ICCCNT), 2021.

[15] K S Krupa, G Ambara, Kartikey Ray, Sahil Choudhury, “Emotion aware Smart Music Recommendation System using Two Level CNN”,

2020 Third International Conference on Smart Systems and Inventive Technology (ICSSIT), 2020.

[16] I J Goodfellow, J Pouget-Abadie, M Mirza, B Xu, D Warde-Farley,

S Ozair, A Courville, and Y Bengio, “Generative adversarial networks,” arXiv preprint arXiv:1406.2661, 2014.

[17] Wan-Lei Zhao, Chong-Wah Ngo, “Flip-Invariant SIFT for Copy and

Object Detection”, IEEE Transactions on Image Processing, vol 22, pp 980-991, 2013.

[18] P Viola, M Jones ” Rapid object detection using a boosted cascade of simple features”, Proceedings of the 2001 IEEE Computer Society Conference on Computer Vision and Pattern Recognition CVPR 2001, 2021.

[19] R Feraund, O.J Bernier, J.-E Viallet, M Collobert, "A fast and accurate face detector based on neural networks", IEEE Transactions on Pattern Analysis and Machine Intelligence, vol 23, pp 42-53, 2001. [20] Wenqi Wu, Yingjie Yin, Xingang Wang, De Xu, " Face Detection With

Different Scales Based on Faster R-CNN", IEEE Transactions on Cybernetics, vol 49, pp 4017-4028, 2019.

[21] Jiankang Deng et all "RetinaFace: Single-stage Dense Face

Localisation in the Wild", arXiv preprint arXiv: 1905.0064, 2019.

[22] Yanjia Zhu, Hongxiang Cai, Shuhan Zhang, Chenhao Wang, Yichao

Xiong "TinaFace: Strong but Simple Baseline for Face Detection", arXiv preprint arXiv: 2011.13183, 2020.

[23] Tsung-Yi Lin et al, "Feature Pyramid Networks for Object Detection", arXiv preprint arXiv: 1612.03144, 2016.

[24] Weijun Chen, Hongbo Huang, Shuai Peng, Changsheng Zhou, Cuiping

Zhang, "YOLO-face: a real-time face detector", vol 37, pp 805–813, 2021.

[25] Delong Qi, Weijun Tan, Qi Yao, Jingfeng Liu, "YOLO5Face: Why

Reinventing a Face Detector", arXiv preprint arXiv: 2105.1293, 2021. [26] Bin Zhang, Jian Li, Yabiao Wang, Ying Tai, Chengjie Wang, Jilin

Li, Feiyue Huang, Yili Xia, Wenjiang Pei, Rongrong Ji, "ASFD: Automatic and Scalable Face Detector", arXiv preprint arXiv:

[27] Jessica Velasco, Cherry Pascion, Jean Wilmar Alberio, Jonathan

Apuang, John Stephen Cruz, Mark Angelo Gomez, Benjamin Jr. Molina, Lyndon Tuala, August Thio-ac, Romeo Jr Jorda, "A

Smartphone-Based Skin Disease Classification Using MobileNet CNN", arXiv preprint arXiv: 1911.07929, 2019.

[28] Rashidul Hasan Hridoy, Fatema Akter, Aniruddha Rakshit "Computer

Vision Based Skin Disorder Recognition using EfficientNet: A Transfer Learning Approach", 2021 International Conference on Information Technology (ICIT), 2021.

[29] Zhenhao Zhao "Skin Cancer Classification Based on Convolutional

Neural Networks and Vision Transformers", Journal of Physics: Conference Series, vol 2405, 2022 International Conference on Electronics Technology and Artificial Intelligence (ETAI 2022).

[30] Tsai-Rong Chang*, Ming-Yen Tsai "Classifying Conditions of Speckle and Wrinkle on the Human Face: A Deep Learning Approach", Advances of Future IoE Wireless Network Technology, 2022.

[31] Bouguettaya, A.; Kechida, A.; Taberkit, A.M “A survey on lightweight

CNN-based object detection algorithms for platforms with limited computational resources” Int J Inform Appl Math 2019, 2, 28–44. [32] Z Yuan and C Lu, "Research on Image Classification of Lightweight

Convolutional Neural Network," 2021 IEEE 2nd International Conference on Big Data, Artificial Intelligence and Internet of Things Engineering (ICBAIE), 2021, pp 498-50.

[33] Tero Karras, Timo Aila, Samuli Laine, Jaakko Lehtinen, "Progressive

Growing of GANs for Improved Quality, Stability, and Variation", arXiv preprint arXiv:1710.10196, 2017.

[34] Tero Karras, Samuli Laine, Timo Aila, "A Style-Based Generator

Architecture for Generative Adversarial Networks", arXiv preprint arXiv: 1812.04948, 2018.

[35] Evgin Goceri "Analysis of Deep Networks with Residual Blocks and

Different Activation Functions: Classification of Skin Diseases", 2019 Ninth International Conference on Image Processing Theory, Tools and Applications (IPTA), 2019.

[36] Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun, "Deep Residual

Learning for Image Recognition", 2015, arXiv preprint arXiv:

[37] Sandler.M, “MobileNetV2: Inverted Residuals and Linear

[38] Howard, A G (2017, April 17) MobileNets: Efficient Convolutional

Neural Networks for Mobile Vision Applications, arXiv preprint arXiv: 1704.04861.

[39] L Jiao et al., "A Survey of Deep Learning-Based Object Detection," in

[40] Tero Karras, Miika Aittala, Samuli Laine, Erik Họrkửnen, Janne

Hellsten, Jaakko Lehtinen, Timo Aila, "Alias-Free GenerativeAdversarial Networks", arXiv preprint arXiv: 2106.12423, 2021.

[41] https://github.com/rafaelpadilla/Object-Detection-Metrics, truy cập cuối ngày 26/05/2024.

[42] J Deng, W Dong, R Socher, L -J Li, Kai Li and Li Fei-Fei,

"ImageNet: A large-scale hierarchical image database," 2009 IEEE Conference on Computer Vision and Pattern Recognition, 2009, pp. 248-255.

[43] Qiyang Zhang, Xiang Li, Xiangying Che, Xiao Ma, Ao Zhou, Mengwei

Xu, Shangguang Wang, Yun Ma, Xuanzhe Liu, “A Comprehensive Benchmark of Deep Learning Libraries on Mobile Devices”, arXiv preprint arXiv: 2202.06512, 2022

[44] Kim, S., Yoon, H., Lee, J., & Yoo, S (2023) Facial wrinkle segmentation using weighted deep supervision and semi-automatic labeling Artificial Intelligence in Medicine, 145, 102679

[45] https://github.com/Tencent/ncnn, , truy cập cuối ngày 26/05/2024.

[46] Ronneberger, Olaf, Philipp Fischer, and Thomas Brox "U-net:

Convolutional networks for biomedical image segmentation." Medical image computing and computer-assisted intervention–MICCAI 2015: 18th international conference, Munich, Germany, October 5-9, 2015, proceedings, part III 18 Springer International Publishing, 2015.

[47] Kim, Semin, et al "Facial wrinkle segmentation using weighted deep supervision and semi-automatic labeling." Artificial Intelligence in Medicine 145 (2023): 102679.

[48] Liskowski, Paweł, and Krzysztof Krawiec "Segmenting retinal blood vessels with deep neural networks." IEEE transactions on medical imaging 35.11 (2016): 2369-2380.

[50] Chen, Liang-Chieh, et al "Semantic image segmentation with deep convolutional nets and fully connected crfs." arXiv preprint arXiv:1412.7062 (2014).

[51] Qi, Delong, et al "YOLO5Face: Why reinventing a face detector."

European Conference on Computer Vision Cham: Springer Nature Switzerland, 2022.

[52] Yoon, Huisu, et al "Deep-learning-based morphological feature segmentation for facial skin image analysis." Diagnostics 13.11 (2023): 1894.

[53] Arsalan, Muhammad, et al "Deep learning-based detection of pigment signs for analysis and diagnosis of retinitis pigmentosa." Sensors 20.12 (2020): 3454.

[54] RangeKing (Range King) (github.com), truy cập lần cuối 03/06/2024

Ngày đăng: 16/08/2024, 15:14

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[15] K S Krupa, G Ambara, Kartikey Ray, Sahil Choudhury, “Emotion aware Smart Music Recommendation System using Two Level CNN”, 2020 Third International Conference on Smart Systems and Inventive Technology (ICSSIT), 2020 Sách, tạp chí
Tiêu đề: Emotionaware Smart Music Recommendation System using Two Level CNN
[16] I. J. Goodfellow, J. Pouget-Abadie, M. Mirza, B. Xu, D. Warde-Farley, S. Ozair, A. Courville, and Y. Bengio, “Generative adversarial networks,” arXiv preprint arXiv:1406.2661, 2014 Sách, tạp chí
Tiêu đề: Generative adversarialnetworks,”
[17] Wan-Lei Zhao, Chong-Wah Ngo, “Flip-Invariant SIFT for Copy and Object Detection”, IEEE Transactions on Image Processing, vol. 22, pp. 980-991, 2013 Sách, tạp chí
Tiêu đề: Flip-Invariant SIFT for Copy andObject Detection
[19] R. Feraund, O.J. Bernier, J.-E. Viallet, M. Collobert, "A fast and accurate face detector based on neural networks", IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 23, pp. 42-53, 2001 Sách, tạp chí
Tiêu đề: A fast andaccurate face detector based on neural networks
[20] Wenqi Wu, Yingjie Yin, Xingang Wang, De Xu, " Face Detection With Different Scales Based on Faster R-CNN", IEEE Transactions on Cybernetics, vol. 49, pp. 4017-4028, 2019 Sách, tạp chí
Tiêu đề: Face Detection WithDifferent Scales Based on Faster R-CNN
[21] Jiankang Deng et. all "RetinaFace: Single-stage Dense Face Localisation in the Wild", arXiv preprint arXiv: 1905.0064, 2019 Sách, tạp chí
Tiêu đề: RetinaFace: Single-stage Dense FaceLocalisation in the Wild
[22] Yanjia Zhu, Hongxiang Cai, Shuhan Zhang, Chenhao Wang, Yichao Xiong "TinaFace: Strong but Simple Baseline for Face Detection", arXiv preprint arXiv: 2011.13183, 2020 Sách, tạp chí
Tiêu đề: TinaFace: Strong but Simple Baseline for Face Detection
[23] Tsung-Yi Lin et .al, "Feature Pyramid Networks for Object Detection", arXiv preprint arXiv: 1612.03144, 2016 Sách, tạp chí
Tiêu đề: Feature Pyramid Networks for Object Detection
[24] Weijun Chen, Hongbo Huang, Shuai Peng, Changsheng Zhou, Cuiping Zhang, "YOLO-face: a real-time face detector", vol. 37, pp. 805–813, 2021 Sách, tạp chí
Tiêu đề: YOLO-face: a real-time face detector
[25] Delong Qi, Weijun Tan, Qi Yao, Jingfeng Liu, "YOLO5Face: Why Reinventing a Face Detector", arXiv preprint arXiv: 2105.1293, 2021 Sách, tạp chí
Tiêu đề: YOLO5Face: WhyReinventing a Face Detector
[26] Bin Zhang, Jian Li, Yabiao Wang, Ying Tai, Chengjie Wang, Jilin Li, Feiyue Huang, Yili Xia, Wenjiang Pei, Rongrong Ji, "ASFD:Automatic and Scalable Face Detector", arXiv preprint arXiv:2003.11228, 2020 Sách, tạp chí
Tiêu đề: ASFD:Automatic and Scalable Face Detector
[28] Rashidul Hasan Hridoy, Fatema Akter, Aniruddha Rakshit "Computer Vision Based Skin Disorder Recognition using EfficientNet: A Transfer Learning Approach", 2021 International Conference on Information Technology (ICIT), 2021 Sách, tạp chí
Tiêu đề: ComputerVision Based Skin Disorder Recognition using EfficientNet: A TransferLearning Approach
[29] Zhenhao Zhao "Skin Cancer Classification Based on Convolutional Neural Networks and Vision Transformers", Journal of Physics:Conference Series, vol. 2405, 2022 International Conference on Electronics Technology and Artificial Intelligence (ETAI 2022) Sách, tạp chí
Tiêu đề: Skin Cancer Classification Based on ConvolutionalNeural Networks and Vision Transformers
[30] Tsai-Rong Chang*, Ming-Yen Tsai "Classifying Conditions of Speckle and Wrinkle on the Human Face: A Deep Learning Approach", Advances of Future IoE Wireless Network Technology, 2022 Sách, tạp chí
Tiêu đề: Classifying Conditions of Speckleand Wrinkle on the Human Face: A Deep Learning Approach
[31] Bouguettaya, A.; Kechida, A.; Taberkit, A.M. “A survey on lightweight CNN-based object detection algorithms for platforms with limited computational resources” Int. J. Inform. Appl. Math. 2019, 2, 28–44 Sách, tạp chí
Tiêu đề: A survey on lightweightCNN-based object detection algorithms for platforms with limitedcomputational resources
[32] Z. Yuan and C. Lu, "Research on Image Classification of Lightweight Convolutional Neural Network," 2021 IEEE 2nd International Conference on Big Data, Artificial Intelligence and Internet of Things Engineering (ICBAIE), 2021, pp. 498-50 Sách, tạp chí
Tiêu đề: Research on Image Classification of LightweightConvolutional Neural Network
[33] Tero Karras, Timo Aila, Samuli Laine, Jaakko Lehtinen, "Progressive Growing of GANs for Improved Quality, Stability, and Variation", arXiv preprint arXiv:1710.10196, 2017 Sách, tạp chí
Tiêu đề: ProgressiveGrowing of GANs for Improved Quality, Stability, and Variation
[34] Tero Karras, Samuli Laine, Timo Aila, "A Style-Based Generator Architecture for Generative Adversarial Networks", arXiv preprint arXiv: 1812.04948, 2018 Sách, tạp chí
Tiêu đề: A Style-Based GeneratorArchitecture for Generative Adversarial Networks
[35] Evgin Goceri "Analysis of Deep Networks with Residual Blocks and Different Activation Functions: Classification of Skin Diseases", 2019 Ninth International Conference on Image Processing Theory, Tools and Applications (IPTA), 2019 Sách, tạp chí
Tiêu đề: Analysis of Deep Networks with Residual Blocks andDifferent Activation Functions: Classification of Skin Diseases
[36] Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun, "Deep Residual Learning for Image Recognition", 2015, arXiv preprint arXiv:1512.03385, 2015 Sách, tạp chí
Tiêu đề: Deep ResidualLearning for Image Recognition

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w