1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu ứng dụng mô hình học sâu trong nhận biết thời kỳ trái dứa chín cho các vùng trồng dứa tại việt nam

117 10 0

Đ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 đề Nghiên Cứu Ứng Dụng Mô Hình Học Sâu Trong Nhận Biết Thời Kỳ Trái Dứa Chín Cho Các Vùng Trồng Dứa Tại Việt Nam
Tác giả Bùi Văn Chuyên
Người hướng dẫn TS. Nguyễn Hà Huy Cường
Trường học Trường Đại Học Thủ Dầu Một
Chuyên ngành Hệ Thống Thông Tin
Thể loại Luận Văn Thạc Sĩ
Năm xuất bản 2023
Thành phố Bình Dương
Định dạng
Số trang 117
Dung lượng 9,77 MB

Cấu trúc

  • 2. Mục tiêu nghiên cứu (19)
    • 2.1 Mục tiêu chung (19)
    • 2.2 Mục tiêu cụ thể (19)
  • 3. Tổng quan nghiên cứu của đề tài (21)
  • 4. Đối tượng và phạm vi nghiên cứu (21)
    • 4.1 Đối tượng nghiên cứu (21)
    • 4.2 Phạm vi nghiên cứu (21)
  • 5. Phương pháp nghiên cứu (22)
  • 6. Đóng góp của đề tài (22)
  • 7. Cấu trúc của đề tài (23)
  • CHƯƠNG 1. TỔNG QUAN VỀ NHẬN DẠNG DỰA TRÊN MÔ HÌNH PHÁT HIỆN ĐỐI TƯỢNG (23)
    • 1.1 Khái niệm cơ bản trong xử lý ảnh (24)
      • 1.1.1 Điểm ảnh (24)
      • 1.1.2 Độ phân giải của ảnh (Resolution) (24)
      • 1.1.3 Mức xám của ảnh (25)
      • 1.1.4 Các kiểu ảnh (25)
        • 1.1.4.1 Ảnh đen trắng (25)
        • 1.1.4.2 Ảnh nhị phân (26)
        • 1.1.4.3 Ảnh màu (26)
      • 1.1.5 Biểu diễn ảnh (28)
      • 1.1.6 Khử nhiễu (28)
      • 1.1.7 Nhận dạng ảnh (28)
    • 1.2 Nhận dạng trái chín trong vùng trồng dứa dựa trên mạng nơ-ron tích chập (29)
      • 1.2.1 Lọc màu vỏ trái cây (32)
      • 1.2.2 Lọc độ sâu (33)
      • 1.2.3 Trích đặc trưng (33)
      • 1.2.4 Nhận dạng (33)
      • 1.2.5 Hậu xử lý (34)
    • 1.3 Tìm hiểu về thuật toán R-CNN, Fast R-CNN, Faster R-CNN và Mask R- (34)
      • 1.3.1 Region-based Convolutional Neural Networks (R-CNN) (34)
        • 1.3.1.1 Cách R-CNN hoạt động (34)
        • 1.3.1.2 Bounding Box Regression (35)
        • 1.3.1.3 Một số thủ thuật thường gặp trong RCNN (36)
        • 1.3.1.4 Một số vấn đề của RCNN (37)
      • 1.3.2 Fast R-CNN (37)
        • 1.3.2.1 RoI Pooling (38)
        • 1.3.2.2 Cách hoạt động của Fast R-CNN (38)
        • 1.3.2.3 Một số vấn đề của Fast RCNN (40)
      • 1.3.3 Faster R-CNN (40)
        • 1.3.3.1 Cách hoạt động của Faster RCNN (40)
        • 1.3.3.2 Loss function (41)
      • 1.3.4 Mask R-CNN (42)
        • 1.3.4.1 RoIAlign (43)
        • 1.3.4.2 Loss function (44)
    • 1.4 Tìm hiểu về thuật toán You Only Look Once (44)
      • 1.4.1 Giới thiệu YOLO (44)
      • 1.4.2 Cách YOLO hoạt động (45)
      • 1.4.3 Cấu trúc của YOLO (46)
      • 1.4.4 Mô hình mạng của YOLO (46)
      • 1.4.5 Kiến trúc của YOLO (47)
        • 1.4.5.1 Backbone (47)
        • 1.4.5.2 Neck (48)
        • 1.4.5.3 Head (49)
  • CHƯƠNG 2. BÀI TOÁN NHẬN DẠNG TRÁI DỨA CHÍN ÁP DỤNG MẠNG NƠ (50)
    • 2.1 Mạng nơ-ron (50)
      • 2.1.1 Giới thiệu về mạng nơ-ron nhân tạo (50)
        • 2.1.1.1 Đơn vị xử lý (51)
        • 2.1.1.2 Mạng nơ-ron truyền thẳng (52)
        • 2.1.1.3 Mạng nơ-ron truyền thẳng một lớp (53)
    • 2.2 Phân lớp, nhận dạng đối tượng với Support Vector Machine 2 lớp (55)
      • 2.2.1 SVM với tập mẫu phân hoạch tuyến tính được (56)
        • 2.2.1.1 SVM tuyến tính với tập mẫu không phân hoạch tuyến tính được (60)
        • 2.2.1.2 SVM phi tuyến (63)
    • 2.3 Mạng nơ-ron tích chập (66)
      • 2.3.1 Khái niệm về mạng nơ ron tích chập (66)
      • 2.3.2 Mô hình mạng nơ ron tích chập (67)
      • 2.3.3 Xây dựng mạng nơ ron tích chập (68)
        • 2.3.3.1 Mạng được kết nối cục bộ (68)
        • 2.3.3.2 Chia sẻ tham số (70)
        • 2.3.3.3 Hàm kích hoạt (71)
        • 2.3.3.4 Tầng gộp (72)
        • 2.3.3.5 Tầng được kết nối đầy đủ (73)
        • 2.3.3.6 Mô hình quá khớp (73)
      • 2.3.4 Một số mạng tích chập nổi tiếng (74)
        • 2.3.4.1 AlexNet (74)
        • 2.3.4.2 VGGNet (75)
    • 2.4 Hệ thống nhận dạng trái cây thông minh tiếp cận phương pháp Deep (76)
      • 2.4.1 Kiến trúc của hệ thống (77)
      • 2.4.2 Nhận biết trái cây tươi (78)
      • 2.4.3 Nhận dạng trái cây thối (81)
      • 2.4.4 Đánh giá hiệu suất (82)
  • CHƯƠNG 3. KẾT QUẢ THỰC NGHIỆM (23)
    • 3.1 Thực nghiệm (86)
      • 3.1.1 Mô tả thực nghiệm (86)
      • 3.1.2 Thiết kế hệ thống (86)
      • 3.1.3 Tiến hành thực nghiệm (87)
    • 3.2 Triển khai xây dựng (88)
      • 3.2.1 Tiền xử lý dữ liệu (88)
      • 3.2.2 Gán nhãn dữ liệu (89)
      • 3.2.3 Huấn luyện mô hình (94)
        • 3.2.3.1 Tiền huấn luyện (94)
        • 3.2.3.2 Huấn luyện mô hình (94)
      • 3.2.4 Đánh giá hiệu suất mô hình (96)
        • 3.2.4.1 Độ đo (96)
        • 3.2.4.2 Kết quả (97)
      • 3.2.5 Đánh giá hệ thống (100)
  • Kết luận (105)
  • TÀI LIỆU THAM KHẢO (3)

Nội dung

Mục tiêu nghiên cứu

Mục tiêu chung

Luận văn của tôi nghiên cứu mô hình nhận dạng và chọn lọc đối tượng thông qua hình ảnh, nhằm khuyến nghị nhận diện các đối tượng liên quan đến vùng trồng dứa, các đại lý thu mua nông sản, và ứng dụng tại siêu thị bán trái cây nông sản.

Mục tiêu cụ thể

- Nghiên cứu xác định mô hình học sâu phù hợp nhận dạng hình ảnh giải quyết bài toán nhận biết thời kỳ trái dứa chín

- Nghiên cứu các mô hình học sâu: CNN, AlexNet, VGGNet – VGG16

- Nghiên cứu các mô hình học sâu 1 giai đoạn: YOLOv3, YOLOv4, YOLO- tiny

- Nghiên cứu các mô hình học sâu 2 giai đoạn: R-CNN, Fast R-CNN, Faster R-CNN, Mask R-CNN

- Nghiên cứu các framework: COCO dataset, Keras, Tensorflow, TFLite

Qua việc phân tích ưu và nhược điểm của các mô hình học sâu, tôi đã chọn mô hình phù hợp cho việc nhận diện hình ảnh nhằm giải quyết bài toán nhận biết thời kỳ trái dứa chín Bên cạnh đó, tôi cũng tìm hiểu các bước xử lý nhận dạng hình ảnh từ webcam và camera thực tế.

- Nghiên cứu các giống dứa phổ biến khu vực Quảng Nam - Đà Nẵng và các đặc điểm sinh hóa của trái dứa thời kỳ chín

Trên thế giới, dứa (khóm) được trồng rộng rãi với nhiều giống khác nhau, trong đó Việt Nam cũng nổi bật với các vùng canh tác dứa phong phú Tại tỉnh Quảng Nam và thành phố Đà Nẵng, dứa được trồng chủ yếu ở các vùng đất màu mỡ, mang lại năng suất cao và chất lượng tốt Sự phát triển của cây dứa tại đây không chỉ đóng góp vào nền kinh tế địa phương mà còn đáp ứng nhu cầu tiêu thụ cả trong và ngoài nước.

Nghiên cứu đặc điểm sinh học của cây dứa bao gồm phân loại, hình thái, và giải phẫu của cây Bên cạnh đó, việc tìm hiểu các đặc điểm sinh lý và sinh hóa của trái dứa cũng rất quan trọng Đặc điểm sinh trưởng và phát triển của cây dứa, cùng với các thành phần dinh dưỡng có trong trái, đóng vai trò then chốt trong việc đánh giá giá trị dinh dưỡng và ứng dụng của cây dứa trong nông nghiệp và thực phẩm.

Quá trình biến đổi của trái dứa bắt đầu từ thời điểm ra hoa cho đến khi kết quả hình thành Trái dứa trải qua nhiều giai đoạn từ khi còn xanh cho đến khi chín, với sự thay đổi rõ rệt về mùi vị và màu sắc Nghiên cứu cho thấy rằng trong quá trình này, chất lượng của trái dứa cũng được cải thiện, mang lại hương vị thơm ngon và màu sắc hấp dẫn hơn.

Việc áp dụng các giải pháp kỹ thuật phù hợp là rất quan trọng để nâng cao độ chính xác của mô hình nhận dạng Trong nghiên cứu này, tôi đã sử dụng các kỹ thuật mạng nơ ron tích chập, cụ thể là Fast R-CNN cải tiến, để thực hiện cài đặt và thực nghiệm Qua quá trình so sánh và đánh giá, các mô hình được sắp xếp theo độ phức tạp tăng dần, giúp xác định giải pháp tối ưu cho đề tài nghiên cứu.

Mô hình 1 sử dụng bộ lọc Gauss 3 chiều để nhận diện điểm ảnh có màu tương đồng với màu của trái chín Sau đó, tiến hành đếm số lượng đối tượng còn lại trong ảnh.

Mô hình 2 sử dụng mạng nơ-ron truyền thẳng để lọc và tách các điểm ảnh có màu sắc đặc trưng của trái dứa Sau khi thực hiện quá trình này, mô hình tiến hành đếm số lượng các đối tượng còn lại trong ảnh.

- Mô hình 3: Áp dụng phương pháp phân loại đối tượng bằng Support Vector Machine (SVM) để lọc màu Thực hiện phép đếm các đối tượng còn lại trên ảnh.

Tổng quan nghiên cứu của đề tài

Để đạt được mục tiêu trên, đề tài cần thực hiện các nội dung sau:

Trong bài viết này, chúng ta sẽ khám phá các kỹ thuật xử lý ảnh, bao gồm việc áp dụng các phương pháp như tiêu chuẩn lưu trữ ảnh số và phân tách đối tượng Các phương pháp lọc màu như Gauss 3 chiều, huấn luyện mạng nơ-ron truyền thẳng, và phân loại đối tượng bằng SVM sẽ được trình bày chi tiết.

- Tìm hiểu và phân tích các bài báo, công trình nghiên cứu liên quan gần hoặc tương đương

- Đề xuất các kỹ thuật, phương pháp đếm số lượng thẻ biểu quyết trong cuộc họp dựa qua hình ảnh

- Thực hiện và so sánh kết quả đạt được với các nghiên cứu khác.

Phương pháp nghiên cứu

Để thực hiện đề tài này, tác giả sử dụng các phương pháp nghiên cứu sau:

Phương pháp thu thập số liệu bao gồm việc sử dụng các nguồn thông tin sẵn có, kết hợp với quan sát, phỏng vấn và tiếp xúc trực tiếp tại các vùng trồng dứa Qua đó, xác định các yêu cầu cần thiết và cơ sở lý luận cho nghiên cứu Nghiên cứu các hệ thống nhận diện đối tượng hiện có, tham khảo quy trình và kiến thức nghiệp vụ liên quan đến trồng dứa, đồng thời tiếp thu thông tin từ những người dân có kinh nghiệm trong lĩnh vực này Cuối cùng, thu thập số liệu về sự phát triển của trái dứa để phục vụ cho nghiên cứu.

Phương pháp phân tích và tổng hợp lý thuyết bao gồm việc tìm kiếm và nghiên cứu tài liệu về xử lý ảnh, cùng với các thuật toán chọn lọc hình ảnh và kỹ thuật lập trình liên quan Việc này giúp xây dựng nền tảng vững chắc cho việc áp dụng các công nghệ mới trong lĩnh vực này.

Phương pháp thực nghiệm bao gồm việc nghiên cứu lý thuyết để xác định vấn đề bài toán, từ đó đề xuất và xây dựng các mô hình Tiếp theo, tiến hành cài đặt thử nghiệm chương trình bằng ngôn ngữ lập trình Python.

- Phương pháp so sánh và đánh giá: để phân tích đánh giá dựa trên các tập dữ liệu đề xuất thử nghiệm cho các mô hình đề xuất.

Đóng góp của đề tài

Đối với mục tiêu nghiên cứu của luận văn, tác giả đã đề xuất thực hiện những giải pháp như sau:

- Phân tách bài toán nhận dạng trái dứa thành bài toán lọc màu và bài toán nhận dạng đối tượng

Đề xuất áp dụng các phương pháp như Lọc Gauss, mạng nơ-ron tích chập CNN và SVM cho bài toán lọc màu Tiến hành lập trình và thực nghiệm để đánh giá và lựa chọn giải pháp phù hợp nhất cho vấn đề này.

- Lập trình, áp dụng phương pháp đếm đối tượng trên ảnh

The findings of the dissertation have been published in various conferences and journals, including the CITA 2021 conference, the XIV @ conference in 2021, and The International Journal of Machine Learning and Networked Collaborative Engineering (IJMLNCE), ISSN 2581-3242.

Cấu trúc của đề tài

Ngoài phần mở đầu, kết luận, tài liệu tham khảo, luận văn có kết cấu gồm

TỔNG QUAN VỀ NHẬN DẠNG DỰA TRÊN MÔ HÌNH PHÁT HIỆN ĐỐI TƯỢNG

Khái niệm cơ bản trong xử lý ảnh

1.1.1 Điểm ảnh Điểm ảnh (Pixel) là một phần tử của ảnh số tại toạ độ (x, y) với độ xám hoặc màu nhất định Kích thước và khoảng cách giữa các điểm ảnh đó được chọn thích hợp sao cho mắt người cảm nhận sự liên tục về không gian và mức xám (hoặc màu) của ảnh số gần như ảnh thật Mỗi phần tử trong ma trận được gọi là một phần tử ảnh Ảnh trong thực tế là ảnh liên tục về không gian và độ sáng Để xử lý bằng máy tính, ảnh cần phải được số hoá Trong quá trình số hóa, người ta biến đổi gần đúng một ảnh liên tục thành một tập điểm phù hợp với ảnh thật về vị trí (không gian) và độ sáng (mức xám) Khoảng cách giữa các điểm ảnh đó được thiết lập sao cho mắt người không phân biệt được ranh giới giữa chúng Mỗi một điểm như vậy gọi là điểm ảnh (PEL: Picture Element) hay gọi tắt là Pixel

1.1.2 Độ phân giải của ảnh (Resolution)

Mật độ điểm ảnh trên ảnh số được xác định bởi khoảng cách giữa các điểm ảnh, đảm bảo mắt người cảm nhận được sự liên tục của hình ảnh Việc lựa chọn khoảng cách này tạo ra độ phân giải, được phân bố theo hai trục x và y trong không gian hai chiều.

Độ phân giải của màn hình CGA là 320x200 điểm ảnh, với sự khác biệt trong độ mịn giữa các kích thước màn hình Màn hình CGA 12” cho hình ảnh mịn hơn so với màn hình 17” cùng độ phân giải 320x200, do cùng một mật độ điểm nhưng diện tích màn hình lớn hơn dẫn đến độ mịn kém hơn.

A Độ phân giải cao B Độ phân giải thấp

Hình 1.1 So sánh ảnh với độ phân giải khác nhau

Mức xám là kết quả của việc mã hóa cường độ sáng của từng điểm ảnh thành giá trị số, phản ánh quá trình lượng hóa tại điểm đó Định nghĩa mức xám của điểm ảnh là cường độ sáng được gán giá trị số cụ thể Các thang giá trị mức xám phổ biến bao gồm 16, 32, 64, 128 và 256, trong đó mức 256 là mức sử dụng rộng rãi nhất Điều này được giải thích bởi kỹ thuật máy tính, nơi 1 byte (8 bit) được dùng để biểu diễn mức xám, cho phép tạo ra 256 mức khác nhau, từ 0 đến 255.

1.1.4.1 Ảnh đen trắng Ảnh đen trắng chỉ bao gồm 2 màu: màu đen và màu trắng Người ta phân mức đen trắng đó thành L mức Nếu sử dụng số bit B=8 bít để mã hóa mức đen trắng (hay mức xám) thì L được xác định:

L=2 B (trong ví dụ của ta L=2 8 = 256 mức)

Nếu L bằng 2 và B bằng 1, thì chỉ có hai mức độ: mức 0 (màu tối) và mức 1 (màu sáng), được gọi là ảnh nhị phân Khi L lớn hơn 2, chúng ta có ảnh đa cấp xám Cụ thể, trong ảnh nhị phân, mỗi điểm ảnh được mã hóa trên 1 bit, trong khi với ảnh 256 mức, mỗi điểm ảnh được mã hóa trên 8 bit.

Khi sử dụng 8 bit (1 byte) để biểu diễn mức xám trong ảnh đen trắng, ta có thể tạo ra 256 mức xám khác nhau Các mức xám này được biểu diễn bằng các số nguyên từ 0 đến 255, trong đó 0 thể hiện mức cường độ đen nhất và 255 thể hiện mức cường độ sáng nhất.

1.1.4.2 Ảnh nhị phân Ảnh chỉ có 2 mức đen trắng phân biệt tức dùng 1 bit mô tả 21 mức khác nhau Nói cách khác: mỗi điểm ảnh của ảnh nhị phân chỉ có thể là 0 hoặc 1 Ảnh nhị phân khá đơn giản, các phần tử ảnh có thể coi như các phần tử logic Ứng dụng chính của nó được dùng theo tính logic để phân biệt đối tượng ảnh với nền hay để phân biệt điểm biên với điểm khác

Lý thuyết ba màu cho phép dùng màu R = Red (đỏ), G = Green (xanh lá),

Màu xanh dương (B) là một trong ba màu cơ bản tạo nên thế giới màu sắc, với hệ màu RGB sử dụng 3 byte để mô tả mức màu, cho phép hiển thị khoảng 16,7 triệu màu (2^24) Các thiết bị như tivi, màn hình máy tính và camera kỹ thuật số thường áp dụng hệ màu RGB để thể hiện màu sắc Nguyên lý hoạt động của hệ màu RGB dựa trên việc phát xạ ánh sáng, cho phép tạo ra các màu sáng hơn từ ba màu cơ bản.

Hình 1.2 Hệ màu cơ bản RGB

Là tập các màu thành phần sắp xếp theo hình lập phương của hệ trục toạ độ

X, Y, Z Giá trị của mỗi thành phần màu biến thiên từ 0 - 255 Đường chéo chính của hình lập phương với sự cân bằng về số lượng từng màu gốc tương ứng với mức độ xám đen là (0, 0, 0) – (255, 255, 255)

Hình 1.3 Không gian màu RGB

• Hệ tọa độ cho không gian màu hình trụ:

Giá trị màu thuần khiết (Hue) dao động từ 0 đến 360°, trong khi độ bão hòa màu (Saturation) phản ánh mức độ thuần khiết của màu, với giá trị S nằm trong khoảng [0, 1]; S = 1 biểu thị màu tinh khiết nhất không pha trắng Độ sáng của màu (Value), hay còn gọi là Intensity hoặc Lightness, cũng có giá trị trong khoảng [0, 1], với V = 0 là màu đen hoàn toàn và V = 1 là màu sáng nhất Như vậy, khi S và V tăng, màu sắc trở nên thuần khiết và sáng hơn.

1.1.5 Biểu diễn ảnh Ảnh trên máy tính là kết quả thu nhận theo các phương pháp số hoá được nhúng trong các thiết bị kỹ thuật khác nhau Quá trình lưu trữ ảnh nhằm hai mục đích:

- Giảm thời gian xử lý

Lưu trữ thông tin trong bộ nhớ ảnh hưởng lớn đến việc hiển thị, in ấn và xử lý ảnh Ảnh được coi là tập hợp các điểm có kích thước đồng nhất; khi sử dụng nhiều điểm ảnh hơn, bức ảnh sẽ trở nên đẹp hơn, mịn màng hơn và thể hiện chi tiết rõ ràng hơn Đặc điểm này được gọi là độ phân giải.

Có hai loại nhiễu cơ bản trong quá trình thu nhận ảnh:

- Nhiễu hệ thống: là nhiễu có quy luật có thể khử bằng các phép biến đổi

- Nhiễu ngẫu nhiên: vết bẩn không rõ nguyên nhân, cách khắc phục bằng các phép lọc

Nhận dạng ảnh là quá trình mô tả đối tượng mà người dùng muốn xác định, thường diễn ra sau khi đã trích xuất các đặc tính của đối tượng đó.

Có hai kiểu mô tả đối tượng:

- Mô tả theo tham số (nhận dạng theo tham số)

- Mô tả theo cấu trúc (nhận dạng theo cấu trúc)

14 Ứng dụng để nhận dạng đối tượng, mặt, vân tay, văn bản

Nhận dạng chữ in hoặc đánh máy là công nghệ quan trọng giúp tự động hóa quá trình đọc tài liệu, từ đó nâng cao tốc độ và chất lượng thu thập thông tin từ máy tính.

Nhận dạng chữ viết tay (với một số ràng buộc)

Ngoài ra, mạng nơ-ron là một kỹ thuật mới đang được áp dụng vào nhận dạng và cho kết quả khả quan.

Nhận dạng trái chín trong vùng trồng dứa dựa trên mạng nơ-ron tích chập

Mô hình học sâu, đặc biệt là mạng Neural tích chập (CNNs), đã được ứng dụng hiệu quả trong phân lớp ảnh, văn bản và nhận dạng tiếng nói Một trong những ưu điểm chính của các mô hình này là khả năng tự động học và tạo ra các đặc trưng mới từ dữ liệu Tuy nhiên, vấn đề phân lớp trở nên phức tạp khi số chiều dữ liệu quá lớn, dẫn đến việc mô hình có thể hoạt động tốt trên tập huấn luyện nhưng lại kém hiệu quả trên tập kiểm tra Sự khó khăn này chủ yếu xuất phát từ việc dữ liệu có hàng nghìn chiều và thường tách rời trong không gian lớn, làm cho việc tìm kiếm mô hình phân lớp tối ưu trở nên khó khăn Để giải quyết vấn đề này, nhiều thuật toán học tự động đã được nghiên cứu, như kNN, cây quyết định CART và máy học vector hỗ trợ SVM.

Trong những năm gần đây, mạng Neural tích chập (CNNs) đã trở thành mô hình phổ biến và hiệu quả trong nhiều lĩnh vực, bao gồm phân loại hình ảnh (Krizhevky et al., 2012) và phân loại văn bản (Kim, 2014) Nhiều nghiên cứu gần đây cũng đã áp dụng CNNs trong tin sinh học (Min et al., 2016) và phân tích ảnh y khoa (Li et al., 2014) CNNs nổi bật nhờ khả năng trích chọn đặc trưng thông qua lớp tích chập và bộ phân lớp được huấn luyện đồng thời, cho thấy tiềm năng to lớn của mô hình này trong các ứng dụng thực tiễn.

15 có nhiều hướng nghiên cứu sử dụng CNNs trong phân lớp và nhận dạng trái chín tại Việt Nam

Trong những năm gần đây, ngành Thị giác máy tính đã đạt được nhiều thành tựu nổi bật, với các hệ thống xử lý ảnh lớn như Facebook, Google và Amazon tích hợp những tính năng thông minh như nhận diện khuôn mặt, phát triển xe hơi tự lái và giao hàng tự động Tại Việt Nam, lĩnh vực công nghệ Trí tuệ nhân tạo (AI) đang được chú trọng, đặc biệt là Machine Learning, giúp tự động hóa việc phân tích dữ liệu và xây dựng mô hình Công nghệ này hứa hẹn mang lại nhiều lợi ích tối ưu cho doanh nghiệp với các ứng dụng thực tiễn như nhận dạng giọng nói và nhận diện hình ảnh.

Trong nhận diện hình ảnh, hệ thống phân loại các đối tượng từ ảnh kỹ thuật số có nhiều tình huống khác nhau Đối với ảnh đen trắng, mỗi pixel được tính như một đơn vị đo, dẫn đến tổng số pixel và các phép đo là N² cho hình ảnh N * N Trong khi đó, ảnh màu cung cấp 3 phép đo cho mỗi pixel, tương ứng với 3 thành phần màu chính RGB, do đó tổng số phép đo cho ảnh màu N * N là 3N².

Trước đây, bác sĩ chỉ có thể dự đoán chấn thương và thu thập thông tin về cơ thể người bệnh thông qua các xét nghiệm và triệu chứng Sự phát triển của kỹ thuật dựng ảnh y khoa đã cung cấp cho bác sĩ công cụ hữu ích để nhìn thấy bên trong cơ thể, như phát hiện vết nứt xương qua X-quang và các khối u, tế bào ung thư qua ảnh chụp CT Ảnh chụp CT không chỉ giúp xác định vị trí khối máu vón cục mà còn chỉ ra các vùng tổn thương trong não trước khi phẫu thuật Nhờ vào những lợi ích này, việc chẩn đoán bệnh qua hình ảnh đã trở thành một bước quan trọng trong hầu hết các bệnh viện.

16 điều này cũng tạo nên một lượng dữ liệu y học to lớn mà con người khó có thể tự mình thống kê và sử dụng trong thời gian ngắn

Nghiên cứu của Bargoti et al [1] đã cải tiến việc phát hiện trái cây trong vườn bằng cách sử dụng RCNN nhanh hơn để xác định các loại trái cây như xoài, hạnh nhân và táo, nhưng chưa bao gồm việc phát hiện các giai đoạn chín Một phương pháp khác do Joseph Redmon et al [17,18,19,20,21,26] phát triển là kiến trúc MangoYolo, dựa trên YOLO-v3 và YOLO-v2 [7,8], cho phép phát hiện xoài trong vườn với độ chính xác trung bình lên tới 0,983%.

D.Stajnko, M.Lakota, M.Hočevar [28] đã sử dụng máy ảnh nhiệt để chụp ảnh táo và áp dụng các thuật toán xử lý hình ảnh khác nhau để ước tính năng suất và kích thước của táo trong vườn cây

Phát hiện giai đoạn chín của trái cây trong vườn cây đã được thảo luận bởi

Y Tian et al [2], sử dụng YOLO-v3 và phát hiện các giai đoạn phát triển khác nhau của táo trong vườn cây Vấn đề phát hiện chín trong [5] yêu cầu đào tạo các giai đoạn phát triển táo khác nhau thành các đối tượng riêng biệt và do đó, nó sẽ gây ra chi phí đào tạo lớn nếu một giai đoạn phát hiện bổ sung được thêm vào mô hình do S Kim et al [20] Một số nhà nghiên cứu đã nghiên cứu những thay đổi về tính chất vật lý và hóa học của các loại trái cây khác nhau trong quá trình chín

Hình 1.5 Qui trình tổng quát xử lý nhận dạng, phát hiện trái chín

Hình 1.6 Sơ đồ khối hệ thống xử lý nhận dạng, phát hiện trái dứa chín

Các hệ thống Deep Learning sử dụng nhiều loại camera khác nhau, dẫn đến sự khác biệt về chất lượng ảnh thu được Để nâng cao chất lượng ảnh về mặt trực quan và khử nhiễu, bước tiền xử lý được thực hiện nhằm chuẩn hóa thông tin trong ảnh, bao gồm điều chỉnh độ sáng và giá trị cường độ Quá trình này thường áp dụng các bộ lọc như lọc trung bình và lọc trung vị, cũng như các phép biến đổi hình thái học như làm dày, ăn mòn, đóng, mở với các thông số tùy chọn Kết quả cuối cùng là ảnh có chất lượng phù hợp cho bước xử lý tiếp theo.

Mục tiêu của bước này là loại bỏ những hình ảnh không đạt chất lượng từ kho dữ liệu Các giải pháp phổ biến bao gồm tách nền, lọc màu vỏ trái cây và lọc độ sâu Bài viết này sẽ trình bày chi tiết về các phương pháp này.

Phương pháp này thường được áp dụng trong các nghiên cứu về xoay ảnh, giúp phát hiện trái không đúng và đảm bảo chất lượng thông qua phân tích từ nhiều góc độ khác nhau Với cách thực hiện đơn giản và chi phí tính toán thấp, phương pháp này yêu cầu camera phải được đặt ở vị trí cố định Tuy nhiên, kết quả có thể bị ảnh hưởng đáng kể khi có sự thay đổi đột ngột về nền, chẳng hạn như do độ sáng hoặc độ chói.

1.2.1 Lọc màu vỏ trái cây

Qua thực nghiệm, màu vỏ trái cây thể hiện rõ trong các kênh màu như xanh, đỏ và vàng Việc lọc màu được thực hiện bằng cách áp dụng các công thức tính toán nhằm cải thiện độ chính xác trong nhận diện màu sắc.

Trích đối tượng Trích đặc trưng Tiền xử lý

Nhận dạng Hậu xử lý Ảnh đầu vào

Quá trình xử lý ảnh xám bắt đầu bằng việc biến đổi 18 màu hoặc giá trị màu thành dạng thức phù hợp cho các kênh màu tương ứng Sau đó, ảnh kết quả được chuyển đổi thành mặt nạ nhị phân thông qua việc so sánh giá trị từng điểm ảnh với ngưỡng đã định Cuối cùng, việc lọc ảnh màu ban đầu bằng mặt nạ vừa tạo ra sẽ cho ra ảnh màu chỉ chứa thông tin ở lớp bề ngoài.

Kĩ thuật phát hiện hình ảnh trái dứa chín có thể được sử dụng ngay tại bước này

Để giảm thiểu ảnh hưởng của màu sắc và độ sáng, các nhà nghiên cứu sử dụng thông tin độ sâu từ camera gắn cảm biến Những camera này tạo ra ảnh xám thể hiện độ sâu của từng khu vực, với các điểm ảnh sáng hơn tương ứng với các điểm xa hơn khỏi cảm biến Để xác định vùng hình ảnh của quả, người ta thiết lập một miền giá trị khoảng cách nhất định, thường là khu vực ngay trước camera, và kết quả lọc sẽ trả về các đối tượng trong vùng này Kỹ thuật lọc này hiện đang được áp dụng rộng rãi nhờ vào hiệu quả cao và chi phí không chênh lệch nhiều so với camera màu.

Để biểu diễn thông tin màu sắc của trái chín, một loạt phép tính được thực hiện trên ảnh để tách biệt các đặc trưng Các đặc trưng này thường được trích xuất từ đường biên hoặc các thông số sinh học xác định trên ảnh Biên ảnh được mã hóa dưới dạng mã xích, trong đó mỗi giá trị tương ứng với hướng của vector nối hai điểm ảnh biên liền kề.

Tìm hiểu về thuật toán R-CNN, Fast R-CNN, Faster R-CNN và Mask R-

1.3.1 Region-based Convolutional Neural Networks (R-CNN)

R-CNN (Region-based Convolutional Neural Networks) là thuật toán detect object, ý tưởng thuật toán này chia làm 2 bước chính Đầu tiên, sử dụng selective search để đi tìm những bounding-box phù hợp nhất (ROI hay region of interest) Sau đó sử dụng CNN để extract feature từ những bounding-box đó

Hình 1.7 Kiến trúc mô hình R-CNN

Bước đầu tiên trong quy trình phân loại ảnh là sử dụng các mô hình pre-train như VGG hoặc Resnet, đã được huấn luyện trên bộ dữ liệu ImageNet Nhiệm vụ phân loại này liên quan đến N lớp khác nhau.

Bước 2: Sử dụng thuật toán selective search để đề xuất các ROI, thuật toán này sẽ trả về khoảng 2000 vùng cho mỗi hình ảnh Những vùng này có khả năng chứa đối tượng và có kích thước khác nhau.

- Bước 3: Các ROI sẽ được chỉnh sửa lại size để phù hợp với mạng CNN

- Bước 4: Tiếp tục fine-tune CNN trên các vùng được đề xuất cho K + 1 lớp Một lớp bổ sung này liên quan đến background của hình ảnh (tức không có

20 đối tượng) Trong giai đoạn fine-tune, chúng ta sử dụng learning rate nhỏ và và mini-batch vì hầu hết các proposed region chỉ là background

In Step 5, each proposed region generates a feature vector through the CNN This feature vector is then utilized by a trained binary SVM algorithm for each class Positive samples are identified as proposed regions with an Intersection over Union (IoU) of 0.3 or higher, while the remaining regions are classified as negative samples.

Step 6: To reduce error rates, R-CNN employs a trained regression model to refine the predicted bounding boxes in comparison to the accurate bounding boxes.

In the context of bounding box predictions, we consider a predicted bounding box ρ = (ρx, ρy, ρw, ρh) representing the center coordinates, width, and height, alongside a corrected bounding box g = (gx, gy, gw, gh) A regression model is employed to explore the scale-invariant transformation between the centers of the two boxes and the log-scale transformation for their widths and heights The equations governing this transformation are as follows: the corrected center coordinates are given by ĝx = pwdx(ρ) + px and ĝy = phdy(ρ) + py, while the corrected dimensions are represented by ĝw = ph exp(dx(ρ)) and ĝh = ph exp(dh(ρ)).

Lợi ích rõ ràng của việc sử dụng các transformation là tất cả các hàm điều chỉnh bounding-box di(ρ) trong đó і ϵ {x, y, w, h} có thể nhận giá trị trong khoản [-

∞, +∞] Mục đích của việc học này là: t x = (g x – p x ) / p w (5) t y = (g y – p y ) / p h (6) t w = log(g w /p w ) (7) t h = log(g h /p h ) (8)

Một mô hình hồi quy có thể giải quyết vấn đề bằng cách sử dụng loss function SSE cùng với regularization:

1.3.1.3 Một số thủ thuật thường gặp trong RCNN

Một số thủ thuật được sử dụng trong RCNN và các mô hình object detection khác:

Non-maximum suppression giúp loại bỏ các bounding box trùng lặp của cùng một đối tượng Thuật toán hoạt động bằng cách sắp xếp tất cả các bounding box theo confidence score và loại bỏ những box có điểm số thấp Khi còn lại các bounding box, thuật toán sẽ chọn box có điểm số cao nhất và loại bỏ các box còn lại có IoU lớn hơn 0.5 với box đã chọn.

Hình 1.8 Khả năng loại bỏ các bounding box dư thừa

Trong việc phân tích các bounding-box, những vùng không chứa đối tượng được xem là ví dụ tiêu cực Không phải tất cả các ví dụ tiêu cực đều dễ nhận diện; ví dụ, nếu một bounding-box hoàn toàn là nền, việc xác định nó là tiêu cực dễ dàng Tuy nhiên, nếu hộp chứa các kết cấu lạ hoặc một phần của đối tượng, việc nhận diện có thể trở nên khó khăn, và đây được gọi là các ví dụ tiêu cực khó.

Các ví dụ hard negative thường dễ bị phân loại sai, dẫn đến việc xuất hiện các mẫu false positive trong quá trình huấn luyện Bằng cách xác định và đưa những mẫu này vào dữ liệu huấn luyện, chúng ta có thể cải thiện đáng kể hiệu suất của trình phân loại.

1.3.1.4 Một số vấn đề của RCNN

Cùng nhìn lại các bước của RCNN, bạn có thể nhận ra việc train mô hình R-CNN rất tốn kém tài nguyên và rất chậm:

Chạy thuật toán selective search để tìm ra ~2000 region proposed cho từng ảnh

1.3.2 Fast R-CNN Để tăng tốc cho R-CNN, Girshick đã cãi thiện quá trình training bằng cách hợp nhất 3 mô hình độc lập thành một framework được đào tạo chung và tăng khả năng chia sẻ tính toán Mô hình này gọi là Fast R-CNN Thay vì extracting CNN feature vectors cho mỗi region proposal, mô hình này tổng hợp chúng thành một CNN forward trên toàn bộ hình ảnh và các region proposals chia sẻ các feature

23 matrix Sau đó, các feature matrix tương tự sẽ được phân nhánh để sử dụng cho việc classification là bouding-box regression

Hình 1.9 Kiến trúc mô hình Fast R-CNN

1.3.2.1 RoI Pooling Đây là một loại max pooling dùng để chuyển đổi các feature trong projected region của hình ảnh với mọi size (h x w) thành một window với size đã được fix cứng (H x W) Input region sẽ được chia làm H x W grids, xấp xỉ cho mỗi subwindow có kích thước h/H x w/W Sau đó sử dụng max-pooling cho mỗi grid

Hình 1.10 Sơ đồ hoạt động của RoI Pooling

1.3.2.2 Cách hoạt động của Fast R-CNN

Cách thức hoạt động của Fast R-CNN như sau; nhiều bước giống như trong R-CNN:

- Bước 1: Sử dụng pre-train CNN về phân loại ảnh

- Bước 2: Sử dụng thuật toán selective search để sinh ra các region proposals

- Bước 3: Sau khi pre-train CNN:

Replace the final max pooling layer of the pre-trained CNN with an RoI pooling layer The output of the RoI pooling layer is a fixed-length feature vector for region proposals Sharing CNN computations is significant because multiple region proposals from the same image often overlap considerably.

+ Thay thế fully connected layer cuối và softmax layer cuối cùng (K classes) thành fully connected layer và softmax layer K + 1 classes

- Bước 4: Model được chia ra làm 2 output layer

+ Sftmax estimator của K + 1 classes (giống như RCNN và +1 là background), output là một phân phối xác suất rời rạc cho mỗi RoI

+ Bouding-box regression + Loss function

Mô hình được tối ưu hóa cho hàm loss được kết hợp từ 2 nhiệm vụ (classification + localization):

Loss function là tổng của classification loss và bouding-box regression loss:

Đối với "background" RoI, bị bỏ qua, được định nghĩa là:

Trong đó smooth L1 loss được định nghĩa như sau:

1.3.2.3 Một số vấn đề của Fast RCNN

Thuật toán Fast R-CNN nhanh hơn nhiều so với R-CNN, nhưng sự cải thiện không đáng kể do các vùng đề xuất được tạo ra bởi một mô hình khác, dẫn đến chi phí cao.

Một giải pháp hiệu quả để cải thiện tốc độ của thuật toán Fast R-CNN là kết hợp thuật toán đề xuất vùng vào mô hình CNN Faster R-CNN thực hiện điều này bằng cách xây dựng một mô hình duy nhất, kết hợp RPN (mạng đề xuất vùng) và Fast R-CNN, trong đó chia sẻ cùng một CNN.

Hình 1.11 Sơ đồ hoạt động của Faster R-CNN

1.3.3.1 Cách hoạt động của Faster RCNN

- Bước 1: Sử dụng pre-train CNN về phân loại ảnh

- Bước 2: Fine-tune RPN (region proposal network) cho nhiệm vụ đề xuất khu vực, được khởi tạo bởi pre-train image classifier Các positive example có IoU

> 0.7, các negative example có IoU < 0.3

+ Trượt một window nhỏ có kích thước n x n trên toàn bộ CNN feature của hình ảnh

- Bước 3: Đào tạo mô hình Fast R-CNN sử dụng các proposals region được sinh ra từ RPN hiện tại

Bước 4: Sử dụng mạng Fast R-CNN để khởi tạo việc đào tạo RPN, trong đó các lớp convolution được chia sẻ, chỉ điều chỉnh lại các lớp RPN cụ thể Ở giai đoạn này, RPN và mạng phát hiện đã cùng chia sẻ các lớp convolution.

- Bước 5: Cuối cùng, chúng ta sẽ fine-tune các layer riêng biệt của Fast R- CNN

- Bước 6: Bước 4-5 có thể được lặp lại để huấn luyện mạng RPN và Fast R- CNN nếu cần

Loss function của Faster R-CNN tương đối giống với Fast R-CNN

Hàm loss của Faster R-CNN là sự kết hợp giữa classification loss và bounding-box regression loss:

Tìm hiểu về thuật toán You Only Look Once

You Only Look Once (YOLO) là một thuật toán nhận diện đối tượng trong lĩnh vực thị giác máy tính Thuật toán này được phân chia thành hai nhóm chính trong lĩnh vực Object Detection.

Họ các mô hình R-CNN (Region-Based Convolutional Neural Networks), dùng để giải quyết các bài toán về định vị và nhận diện vật thể

Họ các mô hình về YOLO (You Only Look Once), dùng để nhận dạng đối tượng, được thiết kế để nhận diện các vật thể real-time

YOLO (You Only Look Once) là một mô hình mạng neural tích chập (CNN) được thiết kế để phát hiện, nhận dạng và phân loại đối tượng trong hình ảnh Mô hình này kết hợp giữa các lớp tích chập, có nhiệm vụ trích xuất đặc điểm của ảnh, và các lớp kết nối đầy đủ, giúp dự đoán xác suất và tọa độ của đối tượng.

Mô hình nhận diện ảnh hoạt động bằng cách tiếp nhận một hình ảnh đầu vào và xác định xem có đối tượng nào trong ảnh hay không, đồng thời xác định tọa độ của đối tượng đó Ảnh đầu vào được chia thành các ô kích thước SxS, thường là 3x3, 5x5, 7x7, và kích thước ô này có ảnh hưởng đáng kể đến khả năng phát hiện đối tượng của mô hình.

Hình 1.17 Phương pháp phát hiện vật thể của YOLO

Mô hình nhận đầu vào là một hình ảnh và xuất ra ma trận 3 chiều có kích thước SxSx(5xN + M), trong đó N là số lượng bounding box và M là số lượng class cần dự đoán cho mỗi ô Ví dụ, nếu hình ảnh được chia thành 7x7 ô và mỗi ô cần dự đoán 2 bounding box cùng 3 đối tượng như chó, ô tô và xe đạp, thì đầu ra sẽ là 7x7x(5x2 + 3) = 7x7x13, với mỗi ô có 13 tham số, dẫn đến tổng cộng 98 bounding box được trả về.

Mỗi bounding box được dự đoán bao gồm 5 thành phần: (x, y, w, h, prediction), trong đó (x, y) là tọa độ góc trên bên trái của bounding box, (w, h) là chiều rộng và chiều cao của nó, và prediction được định nghĩa là Pr(Object).

YOLO là một phương pháp đào tạo phức tạp với nhiều thành phần khác nhau, nhằm đạt được độ chính xác cao cho mỗi mô hình được huấn luyện Cấu trúc của YOLO bao gồm nhiều bước quan trọng, mỗi bước đóng góp vào hiệu suất tổng thể của mô hình.

1.4.4 Mô hình mạng của YOLO

The YOLO network model is a conventional CNN architecture that consists of convolutional layers combined with max pooling layers It concludes with two fully connected layers, where the final layer employs a linear activation function, while all preceding layers utilize leaky ReLU activation.

Hình 1.18 Kiến trúc của YOLO

Kiến trúc của YOLO gồm 4 phần:

• Backbone (Dense Block & DenseNet, CSP, CSPDarknet53);

Backbone được hiểu là kiến trúc trích xuất tính năng, bao gồm YOLO Tiny và Darknet53 Trong đề tài này, tôi sử dụng Darknet53

YOLO-Tiny là một mô hình có chỉ 9 lớp phức hợp, điều này khiến nó có độ chính xác thấp hơn so với các phiên bản lớn hơn Tuy nhiên, nhờ vào cấu trúc đơn giản, YOLO-Tiny hoạt động nhanh hơn và tiêu tốn ít tài nguyên hơn, do đó rất phù hợp cho các dự án di động hoặc nhúng.

Darknet53 là một mạng neural sâu với 53 lớp phức tạp, mang lại độ chính xác cao hơn nhưng tốc độ xử lý chậm hơn Việc sử dụng Backbone giúp cải thiện độ chính xác và thiết kế mạng sâu hơn, mở rộng trường tiếp nhận, tăng cường độ phức tạp của mô hình, đồng thời giảm bớt khó khăn trong quá trình huấn luyện.

Hình 1.19 Cấu trúc mạng Darknet 53

Mục đích của Neck là thêm các lớp ngoại lệ ở giữa Backbone và Head (khối dự đoán dày đặc)

Hình 1.20 Cách hoạt động của Neck

Trong quá trình hoạt động của mạng nơ-ron tích chập, mọi thứ diễn ra theo cách tuyến tính Tuy nhiên, mạng đã phát triển với sự xuất hiện của các khối trung gian, cho phép bỏ qua kết nối và tổng hợp dữ liệu giữa các lớp Để làm phong phú thêm thông tin đầu vào cho phần đầu, các bản đồ tính năng lân cận từ luồng dưới lên và luồng trên xuống được kết hợp lại với nhau, giúp đầu vào của head chứa thông tin phong phú hơn.

34 không gian từ luồng từ dưới lên và thông tin phong phú về ngữ nghĩa từ luồng từ trên xuống Phần này của hệ thống được gọi là Neck

Mạng YOLO phát hiện tọa độ hộp giới hạn (x, y, w, h) và điểm tin cậy cho một lớp đối tượng Mục tiêu của YOLO là chia hình ảnh thành lưới ô và dự đoán xác suất xuất hiện đối tượng trong từng ô thông qua các hộp neo Đầu ra bao gồm vectơ chứa tọa độ hộp giới hạn cùng với các lớp xác suất Cuối cùng, các kỹ thuật xử lý hậu kỳ như triệt tiêu không cực đại được áp dụng để cải thiện độ chính xác.

Hình 1.21 Cách hoạt động của Head

BÀI TOÁN NHẬN DẠNG TRÁI DỨA CHÍN ÁP DỤNG MẠNG NƠ

Mạng nơ-ron

2.1.1 Giới thiệu về mạng nơ-ron nhân tạo

Một trong những phương pháp phổ biến trong học máy là thiết lập mạng nơ-ron nhân tạo Mặc dù mạng nơ-ron nhân tạo chưa thể mô phỏng hoàn toàn sự phức tạp của bộ não con người, nhưng chúng có hai mối tương quan cơ bản với nơ-ron sinh học Đầu tiên, cả hai đều được cấu thành từ các đơn vị tính toán đơn giản, với nơ-ron sinh học là các tế bào thân và nơ-ron nhân tạo thì đơn giản hơn Thứ hai, các kết nối giữa các nơ-ron quyết định chức năng hoạt động của cả hai mạng.

Mạng nơ-ron, còn được gọi là mô hình liên kết hoặc mô hình phân bố song song, bao gồm các thành phần phân biệt quan trọng.

1) Tập các đơn vị xử lý;

2) Trạng thái kích hoạt hay đầu ra của đơn vị xử lý;

3) Liên kết giữa các đơn vị, mỗi liên kết được xác định bởi một trọng số wji cho ta biết hiệu ứng mà tín hiệu của đơn vị j có trên đơn vị i;

4) Luật lan truyền quyết định cách tính tín hiệu ra của đơn vị từ đầu vào của nó;

5) Hàm kích hoạt, xác định mức độ kích hoạt khác dựa trên mức độ kích hoạt hiện tại;

6) Đơn vị điều chỉnh (độ lệch - bias) của mỗi đơn vị;

7) Phương pháp thu thập thông tin (luật học – learning rule);

8) Môi trường hệ thống có thể hoạt động

Bộ não con người chứa khoảng 100 tỷ nơ-ron, mỗi nơ-ron kết nối với khoảng 10.000 nơ-ron khác Cấu trúc của một nơ-ron bao gồm tế bào hình cây, tế bào thân và sợi trục thần kinh (axon) Tế bào hình cây có nhiệm vụ tiếp nhận các tín hiệu điện từ môi trường, trong khi tế bào thân thực hiện việc gộp và phân ngưỡng các tín hiệu này Cuối cùng, sợi trục thần kinh truyền tín hiệu từ tế bào thân đến tế bào hình cây của các nơ-ron khác, tạo nên mạng lưới phức tạp trong não.

Nơ-ron sinh học có điểm tiếp xúc giữa sợi trục thần kinh của một nơ-ron và tế bào hình cây của nơ-ron khác, được gọi là khớp thần kinh (synapse) Sự sắp xếp và mức độ mạnh yếu của các khớp thần kinh, do các quá trình hoá học phức tạp quyết định, thiết lập chức năng của mạng nơ-ron.

Khi con người ra đời, não bộ đã có sẵn một số nơ-ron, trong khi các nơ-ron khác phát triển qua quá trình học tập Quá trình này bao gồm việc hình thành các liên kết mới và loại bỏ những liên kết cũ giữa các nơ-ron.

Cấu trúc mạng nơ-ron liên tục phát triển và biến đổi, với các thay đổi chủ yếu tập trung vào việc tăng cường hoặc giảm bớt độ mạnh của các liên kết thông qua các khớp thần kinh.

Một đơn vị xử lý, hay còn gọi là nơ-ron hoặc nút (node), thực hiện chức năng cơ bản là nhận tín hiệu đầu vào từ các đơn vị khác hoặc từ một nguồn.

37 bên ngoài và sử dụng chúng để tính tín hiệu ra sẽ được lan truyền sang các đơn vị khác

Hình 2.2 Đơn vị xử lý của mạng nơ-ron

- xi: các đầu vào của đơn vị thứ j,

- wji: hệ số nối tới đơn vị thứ j,

- θj: độ lệch đối với đơn vị thứ j,

- aj: tổng thứ j của đầu vào mạng (net input), tương ứng với đơn vị thứ j,

- zj: đầu ra của đơn vị thứ j,

Trong một mạng nơ-ron có 3 kiểu đơn vị:

1) Các đơn vị đầu vào (input unit), nhận tín hiệu từ bên ngoài;

2) Các đơn vị đầu ra (output unit), gửi tín hiệu ra bên ngoài;

3) Các đơn vị ẩn (hidden unit), đầu vào (input) và đầu ra (output) của chúng đều nằm trong mạng

Mỗi đơn vị j trong hệ thống có khả năng nhận một hoặc nhiều đầu vào, bao gồm x0, x1, x2, , xn, nhưng chỉ có một đầu ra duy nhất là zj Các đầu vào này có thể là dữ liệu từ bên ngoài mạng, đầu ra từ một đơn vị khác, hoặc đầu ra từ chính đơn vị đó.

2.1.1.2 Mạng nơ-ron truyền thẳng

Mạng nơ-ron truyền thẳng (Feed-forward neural network) là loại mạng mà dữ liệu được truyền từ đơn vị đầu vào đến đơn vị đầu ra một cách thẳng tiến, không có liên kết phản hồi Dữ liệu có thể được xử lý qua nhiều lớp khác nhau, nhưng không có sự tương tác ngược giữa các lớp.

38 kết mở rộng từ các đơn vị đầu ra tới các đơn vị đầu vào trong cùng một lớp hay các lớp trước đó là không cho phép

Hình 2.3 Mạng nơ-ron truyền thẳng nhiều lớp

2.1.1.3 Mạng nơ-ron truyền thẳng một lớp

Mạng nơ-ron truyền thẳng một lớp (perceptron một lớp) được F Rosenblatt đề xuất vào năm 1960 là một mạng có một lớp vào và một lớp ra, không có lớp ẩn Mỗi lớp có thể chứa một hoặc nhiều nơ-ron Mô hình này sử dụng hàm ngưỡng làm hàm chuyển, trong đó, nếu tổng các tín hiệu vào lớn hơn giá trị ngưỡng, đầu ra của nơ-ron sẽ là 1; ngược lại, đầu ra sẽ là 0.

Với neti = ∑wijxj là tổng thông tin đầu vào của nơ-ron i

Mạng Perceptron một lớp đã được giới thiệu và nhanh chóng trở thành công cụ hữu ích trong việc giải quyết bài toán phân lớp Đối tượng sẽ được nơ-ron i phân loại vào lớp A nếu

Tổng thông tin đầu vào: ∑ w ij x j >θ i

Trọng số liên kết từ nơ-ron j tới nơ-ron i được ký hiệu là w_ij, trong khi đầu vào từ nơ-ron j là x_j, và θ là ngưỡng của nơ-ron i Nếu không đáp ứng được ngưỡng này, đối tượng sẽ được phân loại vào lớp B.

Huấn luyện mạng sử dụng phương pháp học có giám sát với tập mẫu học được định nghĩa là {(x(k), d(k))}, trong đó d(k) là đầu ra quan sát tương ứng với đầu vào x(k) Với m là số đầu vào, n là số đầu ra và p là số cặp mẫu, mục tiêu là sau quá trình học, đầu ra tính toán y(k) sẽ khớp với đầu ra mẫu d(k).

Mạng perceptron một lớp bắt đầu quá trình luyện bằng cách gán các trọng số giá trị ngẫu nhiên trong khoảng [-3, 3] Sau đó, các trọng số này được hiệu chỉnh dựa trên mẫu học nhằm giảm thiểu sai số giữa y(k) và d(k).

Xác định ngẫu nhiên bộ trọng số

Với mỗi mẫu học (x(k), d(k)), k=1,2, …, p thực hiện các bước:

- Tính giá trị y(k) theo công thức

Phân lớp, nhận dạng đối tượng với Support Vector Machine 2 lớp

Support Vector Machine (SVM) là phương pháp phân lớp dựa trên lý thuyết thống kê của Vapnik và Alexei Chervonenkis từ năm 1960, được sử dụng rộng rãi trong các bài toán nhận dạng và phân lớp SVM cho thấy khả năng phân loại tương đương hoặc vượt trội hơn so với các phương pháp phân loại khác Trong nghiên cứu này, ảnh màu sắc được trích chọn dưới dạng vector đặc trưng và áp dụng phương pháp phân loại SVM để lọc màu, đánh dấu một nghiên cứu mới của tác giả trong lĩnh vực này.

SVM (Support Vector Machine) là một phương pháp phân loại hiệu quả sử dụng siêu phẳng bậc N để tối ưu hóa việc phân tách dữ liệu thành hai loại Công cụ này rất phù hợp cho việc đếm đối tượng trong hình ảnh, vì thường có hai lớp rõ ràng: đối tượng và nền Việc áp dụng SVM giúp cải thiện độ chính xác trong việc nhận diện và phân loại các đối tượng trong ảnh.

41 hai lớp để phân loại các vùng khác nhau trong ảnh màu [7] Các mô hình SVM có liên quan chặt chẽ đến mạng nơ-ron

2.2.1 SVM với tập mẫu phân hoạch tuyến tính được Ý tưởng của thuật toán SVM là xây dựng một mô hình để phân loại một đối tượng có thuộc hay không thuộc vào nhóm đối tượng cần quan tâm Thuật toán SVM sẽ biểu diễn các điểm trong không gian và xác định ranh giới giữa hai nhóm đối tượng sao cho khoảng cách giữa tập dữ liệu được huấn luyện tới ranh giới là xa nhất có thể

Trong trường hợp này, tập mẫu có thể được phân chia tuyến tính bằng một siêu phẳng Và SVM đi tìm siêu phẳng này a Giai đoạn huấn luyện SVM

Ta có tập huấn luyện gồm m điểm có dạng: (x1, y1), (x2, y2), , (xm, ym) Trong đó mỗi xi là một vector thực p chiều, xi  R n , còn yi  {1, -1} là phân lớp của xi

Để phân loại hiệu quả hai lớp dữ liệu, cần xác định một siêu phẳng có khả năng tách biệt chúng, và có thể có nhiều siêu phẳng như vậy Theo lý thuyết thống kê của Vapnik (1999), siêu phẳng tối ưu là siêu phẳng nằm càng xa các điểm dữ liệu của hai lớp càng tốt, tạo ra một khoảng cách lớn nhất giữa chúng, được gọi là lề Các vector gần siêu phẳng nhất sẽ được gọi là Support Vector, đóng vai trò quan trọng trong quá trình phân loại.

Hình 2.5 Siêu phẳng phân chia dữ liệu

Để xác định phương trình siêu phẳng dưới dạng wx + b = 0, trong đó w là vector pháp tuyến thuộc Rn, việc lựa chọn w và b là cần thiết nhằm tối đa hóa lề.

Có 42 khoảng cách giữa hai siêu phẳng song song ở xa nhau nhất mà vẫn có thể phân chia dữ liệu Các siêu phẳng này được xác định bởi các phương trình: wx + b = 1 và wx + b = -1.

Khi dữ liệu huấn luyện có thể được phân tách một cách tuyến tính, ta có thể chọn hai siêu phẳng sao cho không có điểm nào nằm giữa chúng và tối đa hóa khoảng cách giữa chúng Để đảm bảo không có dữ liệu nào nằm trong lề, ta áp dụng các điều kiện: với mỗi i, wx + b ≥ 1 khi yi = 1 và wx + b ≤ -1 khi yi = -1 Kết hợp hai bất phương trình này, ta có y i (wx i + b) -1 ≥ 0 Những support vector xi thỏa mãn phương trình wx + b = 1 nằm trên siêu phẳng H1, trong khi những support vector xi thỏa mãn phương trình wx + b = -1 nằm trên siêu phẳng H2.

Hình 2.6 Siêu phẳng với lề cực đại cho một SVM phân chia hai tập mẫu [8]

Khoảng cách có dấu d 1 từ gốc toạ độ đến H1 là: d 1 = (1 – b)/||w||

Khoảng cách có dấu d 2 từ gốc toạ độ đến H2 là: d 2 = (-1 – b)/||w||

Suy ra khoảng cách phân hoạch d giữa H1 và H2 là: d = | d 1 - d 2| = 2/||w||

Do đó để có d lớn nhất thì ||w|| phải nhỏ nhất hay nói cách khác:

- ||w|| với điều kiện y i (wx i + b) -1 ≥ 0 (với mọi i = 1, 2, , m)

Bài toán tối ưu này khá phức tạp do hàm mục tiêu phụ thuộc vào ||w||, một hàm khó khai căn Tuy nhiên, có thể thay thế ||w|| bằng hàm mục tiêu 1 để đơn giản hóa vấn đề.

43 mà khụng thay đổi lời giải (hệ số ẵ để tiện cho cỏc biến đổi toỏn học sau này) Cụ thể đây là bài toán:

2||w|| 2 với điều kiện y i (wx i + b) -1 ≥ 0 (với mọi i

Bài toán tối ưu có ràng buộc là một dạng bài toán trong đó hàm mục tiêu là hàm lồi và miền ràng buộc cũng là một tập lồi Để giải quyết bài toán này, ta có thể chuyển sang giải bài toán đối ngẫu.

Tìm cực đại của: θ(u) với u  R m , u ≥ 0:

2||w|| 2 - ∑ m i=1 u i [ yi (wxi + b) – 1]: w  R n , b  R} Để giải bài toán đối ngẫu trên trước tiên ta phải tìm cực tiểu của

Vì L là hàm hai biến w, b bậc hai không ràng buộc nên theo điều kiện

Fermat, cực tiểu của L xảy ra tại w và b sao cho:

Lúc đó giá trị cực tiểu của L là:

Như vậy bài toán đối ngẫu được viết lại thành:

Giải bài toán này ta tìm được u và từ đó tính được w theo công thức

𝑖=1 Để tính b, vận dụng điều kiện Karush – Kuhn – Tucker (KKT) cho bài toán gốc, ta có: u i [y i (wx i + b) – 1] = 0, i = 1, 2, , m

Do đó đối với một i thì có hai trường hợp:

Khi u i = 0, điều này cho thấy y i (wx i + b) – 1 > 0, nghĩa là x i không nằm trên siêu phẳng biên H1 hoặc H2 Do đó, x i không góp phần vào việc cấu trúc w theo công thức 𝑤 = ∑ 𝑚 𝑖=1 𝑢 𝑖 𝑦 𝑖 𝑥 𝑖 Những điểm dữ liệu x i này là không cần thiết và có thể loại bỏ mà không làm ảnh hưởng đến giá trị của w.

- u i > 0: Lúc này y i (wx i + b) – 1 = 0 suy ra xi nằm trên siêu phẳng biên H1 hay H2 x i được gọi là support vector và tham gia vào việc tính w

Thường thì số lượng support vector nhỏ hơn nhiều so với số lượng mẫu

Do đó để tính b chỉ cần chọn một i mà có u i > 0, lúc đó: y i (wx i + b) – 1 = 0 nên b = (1/y i ) – wx i = y i - wx i

Vậy ta đã tính được w và b nên xác định được siêu phẳng phân hoạch b Giai đoạn nhận dạng:

Bây giờ giả sử có một mẫu dữ liệu cần nhận dạng x* nào đó, thì phân lớp y* của x* (-1 hay 1) được xác định thông qua công thức:

Hình 2.7 Minh hoạ các mẫu được gọi là Support Vector

2.2.1.1 SVM tuyến tính với tập mẫu không phân hoạch tuyến tính được

Tập mẫu có thể phân chia tuyến tính chỉ là một trường hợp đặc biệt; trong tình huống tổng quát, tập mẫu là một tập không thể phân chia tuyến tính bằng siêu phẳng.

Hình 2.8 Không thể phân hoạch hai tập mẫu trên bằng một siêu phẳng [8]

Năm 1995, Corinna Cortes và Vladimir N Vapnik đã giới thiệu một ý tưởng mới cho phép thuật toán gán nhãn sai cho một số mẫu huấn luyện Khi không có siêu phẳng nào có thể phân tách hai lớp dữ liệu, thuật toán lề mềm sẽ chọn siêu phẳng tối ưu nhất để phân tách các mẫu huấn luyện, đồng thời tối đa hóa khoảng cách giữa siêu phẳng và các mẫu được gán đúng nhãn Phương pháp này sử dụng các biến bù i để đo độ sai lệch của mẫu x i.

Với cách đặt như vậy thì sai số thực nghiệm Empirical Risk là: ∑ 𝑚 𝑖=1 𝜉 𝑖 2 Tương tự cách trên ta có thể cực tiểu biểu thức sau:

C là một hằng số dương tùy chọn trong mô hình C-SVM Khi C có giá trị lớn (hình 2.9 A), hai điểm gần siêu phẳng nhất sẽ bị ảnh hưởng nhiều hơn so với các điểm dữ liệu khác Ngược lại, khi C giảm (hình 2.9 B), các điểm sẽ di chuyển bên trong lề và làm thay đổi hướng của siêu phẳng, dẫn đến một lề lớn hơn cho dữ liệu Phương pháp này dựa trên giá trị của khoảng cách lỗi.

Hình 2.9 Ảnh hưởng của hằng số lề mềm C [3]

Trong hình 2.9, người dùng có thể thay đổi dữ liệu bằng cách di chuyển điểm bóng mờ màu xám theo hướng mũi tên đến vị trí mới, dẫn đến việc giảm lề đáng kể Hình A thể hiện một SVM với giá trị C rất cao (C = 200), gây ra lỗi huấn luyện Ngược lại, Hình B với giá trị C nhỏ hơn (C = 2) cho phép bỏ qua các điểm gần ranh giới, từ đó tăng cường lề Ranh giới quyết định được thể hiện bằng các đường nét đậm, trong khi đường nét mảnh biểu thị khoảng cách lề (giá trị = 1 và = -1).

Vậy bài toán có thể phát biểu như sau:

Bài toán đối ngẫu của bài toán trên sẽ là:

Cũng theo điều kiện Fermat, cực tiểu của

Xảy ra tại w, b,  sao cho:

𝜕𝑤 =C – u i – v i suy ra 0 ≤ u i ≤ C Lúc đó giá trị cực tiểu của L là:

(29) hư vậy bài toán đối ngẫu được viết lại thành:

Bài toán này hoàn toàn giống bài toán phân chia tuyến tính chỉ có thêm điều

48 kiện u i ≤ C Giải bài toán này ta tìm được u và từ đó tính được w theo công thức: w = ∑ 𝑁𝑠 𝑖=1 𝑢 𝑖 𝑦 𝑖 𝑥 𝑖

Trong bài toán tối ưu hóa hỗ trợ vector, các vector hỗ trợ và vector lỗi được ký hiệu lần lượt là x_i và u_i (với 0 < u_i ≤ C) Số lượng các vector này được gọi là Ns Để xác định giá trị b, ta áp dụng điều kiện KKT, dẫn đến phương trình u_i [y_i (wx_i + b) – 1 + ξ_i] = 0 và v_i ξ_i = 0 Khi chọn một u_i sao cho 0 < u_i < C, ta có y_i (wx_i + b) – 1 + ξ_i = 0 Từ điều kiện C – u_i – v_i = 0, suy ra v_i > 0 và ξ_i = 0, do đó có thể tính được b = y_i - wx_i.

Vậy đã tìm được siêu phẳng phân chia một tập dữ liệu không thể phân hoạch tuyến tính Siêu phẳng như vậy được gọi là siêu phẳng lề mềm

Mạng nơ-ron tích chập

2.3.1 Khái niệm về mạng nơ ron tích chập

Mạng nơ ron tích chập là một mô hình học sâu tiên tiến, phổ biến trong nhận diện và xử lý ảnh nhờ vào tốc độ xử lý nhanh và độ chính xác cao Khác với mạng nơ ron truyền thống chỉ có các tầng một chiều, mạng nơ ron tích chập có cấu trúc ba chiều bao gồm chiều cao, chiều rộng và chiều sâu Hai khái niệm quan trọng trong mạng nơ ron tích chập là kết nối cục bộ và chia sẻ tham số, giúp tối ưu hóa quá trình học và cải thiện hiệu suất.

Những khái niệm này góp phần giảm số lượng trọng số cần được huấn luyện, do đó tăng nhanh được tốc độ tính toán

Hình 2.13 Các tầng (layer) trong CNN là 3 chiều

Hình 2.14 Hình minh họa một ví dụ sử dụng CNN để phân lớp đồ vật [20]

2.3.2 Mô hình mạng nơ ron tích chập

Có ba tầng chính để xây dựng kiến trúc cho một mạng nơ ron tích chập:

- Tầng được kết nối đầy đủ (fully-connected)

Tầng kết nối đầy đủ trong mạng nơ ron hoạt động tương tự như các mạng nơ ron thông thường, trong khi tầng chập thực hiện tích chập nhiều lần trên tầng trước Tầng gộp giúp giảm kích thước mẫu trên từng khối 2x2 của tầng trước đó Kiến trúc của mạng nơ ron tích chập thường bao gồm ba tầng này được chồng lên nhau để tạo thành một kiến trúc hoàn chỉnh Ví dụ về kiến trúc mạng nơ ron tích chập đầy đủ có thể minh họa cho sự kết hợp này.

Hình 2.15 Ví dụ minh họa về cấu trúc CNNs – LeNet – 5[19]

2.3.3 Xây dựng mạng nơ ron tích chập

2.3.3.1 Mạng được kết nối cục bộ

Trong xử lý hình ảnh, thông tin được biểu diễn qua các điểm ảnh (pixel), với một hình ảnh RGB kích thước 512x512 pixel chứa tới 786432 tham số đầu vào Việc sử dụng mạng nơ ron kết nối đầy đủ sẽ dẫn đến một số lượng lớn tham số, làm tăng độ phức tạp trong việc xử lý và phân tích hình ảnh.

Hình 2.16 Hình ảnh một mạng nơ ron được kết nối đầy đủ

Hình 2.16 chỉ ra rằng việc sử dụng mạng nơ ron kết nối đầy đủ đòi hỏi hơn 3 triệu nơ ron, gây ra quá trình học chậm và quá tải cho khả năng tính toán của máy tính hiện tại.

Qua nghiên cứu về xử lý ảnh, các nhà nghiên cứu nhận thấy rằng các đặc điểm trong hình ảnh thường mang tính cục bộ Họ tập trung vào các tính năng cấp thấp trong giai đoạn đầu của quá trình xử lý Do đó, kiến trúc mạng có thể được chuyển đổi từ mạng kết nối đầy đủ sang mạng kết nối cục bộ, nhằm tối ưu hóa hiệu quả xử lý.

54 độ phức tạp của tính toán Đây là một trong những ý tưởng chính trong CNN Chúng ta có thể thấy rõ hơn qua hình 2.17 sau:

Hình 2.17 Tích chập một ma trận nhỏ để tạo ra dữ liệu đầu vào cho một nơ-ron tầng ẩn

Giống như trong xử lý hình ảnh thông thường, chúng ta có thể kết nối một khối vuông ma trận với nơ ron, thường có kích thước 3x3, 5x5 hoặc 7x7, tương tự như một cửa sổ trượt Phương pháp này giúp giảm số lượng tham số một cách hiệu quả mà không làm mất thông tin, do tính lặp lại trong không gian của hình ảnh Để tối ưu hóa việc trích xuất thông tin, các mạng nơ ron kết nối khối với nhiều nơ ron khác nhau, với độ sâu trong các tầng tương ứng với số lần kết nối khu vực với các nơ ron Ví dụ, nếu một khu vực được kết nối với 5 nơ ron khác nhau, độ sâu trong tầng sẽ là năm.

Hình 2.18 Ví dụ về lớp tích chập

Có thể kết nối tất cả thông tin độ sâu, chẳng hạn như kênh 3 RGB, với các nơ ron tiếp theo do kết nối này mang tính cục bộ trong không gian và có chiều sâu đầy đủ.

Trong ví dụ này, 55 chỉ kết nối thông tin cục bộ về chiều cao và chiều rộng Sử dụng cửa sổ 5x5, có thể có 5 x 5 x 5 tham số cho nơ ron trong lớp màu xanh Hai biến đầu tiên đại diện cho chiều cao và chiều rộng của kích thước cửa sổ, trong khi biến thứ ba thể hiện độ sâu của lớp.

Khi di chuyển cửa sổ bên trong hình ảnh, kích thước của tầng tiếp theo sẽ giảm xuống, ví dụ từ 32 x 32 xuống 28 x 28 Để bảo toàn kích thước, chúng ta có thể thêm phần đệm vào viền Nếu sử dụng đệm 2 pixel, kích thước sẽ trở lại 32 x 32 cho lớp tiếp theo Khi sử dụng kích thước cửa sổ w, vùng tích chập mới sẽ có kích thước (w – 1)/2 pixel, và thông tin từ đường viền sẽ không ảnh hưởng nhiều đến kết quả vì chỉ được sử dụng một lần.

Bài viết tiếp theo sẽ giải thích chi tiết về bước nhảy của cửa sổ trượt, cụ thể là khoảng cách thay đổi của cửa sổ mỗi lần Chẳng hạn, nếu bước nhảy là 2 và cửa sổ trượt bao phủ vùng x thuộc [1,m], thì cửa sổ thứ hai sẽ bao phủ vùng x thuộc [3,m] và cửa sổ thứ ba sẽ bao phủ vùng x thuộc [5,m].

Khi sử dụng bước nhảy 1 và kích thước cửa sổ 3 x 3 trong hình ảnh 5 x 5 x chiều sâu, lớp nơ-ron tiếp theo sẽ có kích thước 3 x 3 x chiều sâu Nếu thay đổi bước nhảy thành 2, kích thước nơ-ron vẫn giữ nguyên là 3 x 3 x chiều sâu Điều này cho thấy với bước nhảy s và kích thước cửa sổ, kích thước nơ-ron ở lớp tiếp theo sẽ là [(W – w)/s + 1] x [(H – w)/s] x chiều sâu Khi áp dụng bước nhảy 3, kết quả nhận được là (7 – 3)/3 + 1 = 7/3, không phải là số nguyên, do đó bước nhảy 3 không thể sử dụng vì không thể tạo ra một khối hoàn chỉnh trong mạng nơ-ron.

Trong ví dụ minh họa ở mục 2.3.3.1, tầng tiếp theo có 32 x 32 x 5 nơ ron với kích thước cửa sổ 5 x 5 và không có đệm, dẫn đến tổng số tham số là 384.000 Mỗi nơ ron sử dụng 75 tham số từ 5 x 5 x 3, giúp giảm đáng kể số lượng tham số khi chia sẻ theo từng độ sâu Quá trình học tập của các nơ ron này tương tự như học lõi tích chập, lý do mà chúng được gọi là mạng nơ ron tích chập.

Trong mô hình nơ ron truyền thống, hàm kích hoạt sigmoid thường được sử dụng, nhưng Krizhevsky đã thử nghiệm với hàm kích hoạt RELU Sau khi so sánh hiệu quả giữa RELU và sigmoid trong các mạng nơ ron tích chập (CNNs), họ nhận thấy rằng mô hình sử dụng RELU yêu cầu ít thời gian lặp hơn trong khi vẫn đạt tỷ lệ lỗi huấn luyện tương đương Kết quả này được thể hiện rõ trong hình ảnh minh họa.

Hình 2.19 So sánh giữa ReLU và Sigmoid

Mô hình sử dụng hàm RELU (đường liền nét) yêu cầu ít vòng lặp hơn so với mô hình sử dụng hàm Sigmoid (đường đứt nét).

57 đạt tỉ lệ lỗi chấp nhận được Do đó, ngày nay đa số các mô hình CNN gần đây sử dụng RELU để làm hàm kích hoạt

Tầng gộp giúp giảm kích thước hình ảnh sau khi thực hiện tích chập, giữ lại các đặc điểm nổi bật nhất Điều này không chỉ giảm mức độ tính toán cho hình ảnh lớn mà còn bảo toàn các đặc điểm quan trọng của ảnh.

KẾT QUẢ THỰC NGHIỆM

Thực nghiệm

Bước 1: Thu thập các hình ảnh trái dứa

Bước 2: Chọn lọc các giá trị đặc trưng của thẻ dựa trên hình ảnh thu được Bước 3: Áp dụng các mô hình lọc màu

Bước 4: Đếm số lượng thẻ sau khi đã lọc màu

Để nhận diện trái dứa, đầu tiên cần thu thập tập dữ liệu hình ảnh đầu vào Sau đó, mô hình học sâu sẽ được đào tạo để nhận diện các đặc trưng của hình ảnh Kết quả từ quá trình huấn luyện này sẽ được sử dụng để dự đoán hình ảnh, dựa vào các yếu tố như màu sắc, hình dạng, kích thước và kết cấu Qua đó, việc phân tích và đánh giá trái dứa sẽ giúp xác định thời kỳ chín của nó Kiến trúc hệ thống nhận dạng trái dứa được trình bày chi tiết trong Hình 3.1.

Hình 3.1 Sơ đồ hoạt động hệ thống nhận dạng

Hình 3.2 Kiến trúc của mô hình YOLO

Để thực hiện thí nghiệm, tác giả đã thu thập nhiều hình ảnh và chọn ra một hình ảnh đại diện để áp dụng các mô hình lọc màu đã được mô tả.

Triển khai xây dựng

3.2.1 Tiền xử lý dữ liệu

Tiền xử lý là bước thiết yếu trong quá trình chuẩn bị dữ liệu, giúp đồng bộ hóa kích thước và chất lượng hình ảnh cho việc đào tạo Việc xử lý hình ảnh nhằm làm sạch dữ liệu đầu vào không chỉ giảm thời gian đào tạo mà còn nâng cao hiệu suất Sử dụng hình ảnh có kích thước nhỏ hơn có thể cắt giảm thời gian đào tạo đáng kể Đồng thời, làm giàu dữ liệu giúp tạo ra các mẫu dữ liệu mới từ nguồn dữ liệu hiện có.

Tập dữ liệu nghiên cứu được tự thu thập từ các vườn trồng dứa tại Quảng Nam – Đà Nẵng và các tiểu thương ở chợ Đà Nẵng, bao gồm 6000 hình ảnh trái dứa ở ba giai đoạn chín khác nhau Dữ liệu được chia thành hai phần: tập đào tạo (train) để máy học trích xuất đặc điểm quan trọng từ hình ảnh, và tập kiểm thử (test) để kiểm tra độ chính xác của mô hình sau khi đào tạo Tập kiểm thử chỉ chứa dữ liệu đầu vào mà không có dữ liệu đầu ra, cho phép máy tính xử lý và đưa ra kết quả dựa trên giá trị đầu vào.

Hình 3.2 Vùng trồng dứa tại xã Đại Hồng – Huyện Đại Lộc

Hình 3.3 Các quả dứa thu hoạch từ trang trại trồng dứa tại xã Đại Hồng -

Hình 3.4 Dữ liệu trái dứa được thu thập

Gán nhãn dữ liệu là giai đoạn quan trọng nhất trong quá trình huấn luyện để đạt được độ chính xác cao Sau khi thu thập tập dữ liệu đầu vào, nhóm nghiên cứu tiến hành gán nhãn cho từng ảnh nhằm trích xuất các vùng đặc trưng của trái dứa Quá trình gán nhãn được thực hiện bằng phần mềm LabelImg, một công cụ chú thích hình ảnh được phát triển bằng Python và sử dụng Qt làm giao diện chính Các bước thực hiện sẽ được trình bày chi tiết dưới đây.

Để cài đặt công cụ LabelImg, bạn cần thực hiện các bước thiết lập các thông số bắt buộc LabelImg hỗ trợ nhiều phiên bản Python và tương thích với các hệ điều hành khác nhau như Windows, Linux, và Ubuntu Tùy thuộc vào hệ thống mà bạn đang sử dụng, quy trình cài đặt sẽ có sự khác biệt.

75 nhau Trong nghiên cứu này, nhóm thực hiện chạy công cụ LabelImg trên Windows và phiên bản python 3.x

Hình 3.5 Cài đặt thông số và thư viện pipenv

Hình 3.6 Cài đặt thư viện qt5py3

Tải công cụ LabelImg trên github bằng lệnh terminal

Hình 3.7 Cài đặt công cụ LabelImg từ github

Sau khi đã có được môi trường và các điều kiện bắt buộc, khởi động công cụ LabelImg bằng câu lệnh trên terminal

Hình 3.8 Khởi chạy công cụ LabelImg

Hình 3.9 Giao diện chính của LabelImg

Open Dir để mở thư mục chứa hình ảnh trái dứa để đưa vào công cụ LabelImg Hình ảnh trái dứa được định dạng đuôi jpg

Hình 3.10: Mở mục chưa hình ảnh trái dứa để bắt đầu gán nhãn

Change Save Dir được sử dụng để cập nhật đường dẫn lưu trữ các tệp nhãn gán sau khi thực hiện việc gán nhãn Các tệp nhãn sẽ được lưu với cùng tên như hình ảnh đã xử lý.

Hình 3.11 Chọn đường dẫn tới vị trí lưu trữ tệp thông số gán nhãn

Trong chức năng định dạng tệp gán nhãn, cần chuyển đổi sang định dạng YOLO phù hợp với chủ đề nhóm đang báo cáo Định dạng YOLO cho phép xuất tệp dưới dạng đuôi txt.

Hình 3.12 Chọn định dạng YOLO cho mô hình

Sử dụng Create RectBox để bắt đầu quá trình kéo thả vùng chọn, tập trung vào khu vực đặc trưng của trái dứa, bao gồm cả phần thân và phần ngọn.

Hình 3.13 Thực hiện quá trình chọn vùng đặc trưng trái dứa

Khi chọn được vùng đặc trưng của trái dứa sẽ tiến hành đánh nhãn cho vùng vừa chọn được Trong đề tài này, nhóm sử dụng nhãn “Pineapple”

Hình 3.14 Cập nhập thêm nhãn cho vùng đặc trưng vừa chọn

Tệp sau khi được định dạng có những thông tin như bên dưới sau đây:

- MVI_7230000 là tên hình ảnh chọn đặc trưng

- “0” là mã định dạng cho class đầu tiên

- thông số sau định dạng lần lượt là Width, Height, tọa độ x, tọa độ y

Hình 3.15 Thông số đặc trưng của hình ảnh sau khi được lưu

Trước khi bắt đầu quá trình huấn luyện, mô hình yêu cầu thực hiện một số chức năng cần thiết Trong nghiên cứu này, nhóm đã sử dụng mô hình huấn luyện Yolov4, nổi bật với sự cải thiện đáng kể về độ chính xác và tốc độ huấn luyện Dưới đây là các tệp cần thiết cho quá trình huấn luyện dữ liệu.

- yolo.names: tệp chứa các class Ở đây là trái dứa

- train.txt: chứa danh sách các file sẽ dùng để train

- val.txt: danh sách các file dùng để kiểm thử

- yolov4-custom.cfg: đây là tệp cấu hình mô hình huấn luyện yolov4

- yolov4.conv.137: tệp chứa weight của phần Convolution đã được đào tạo của darknet

- yolo.data: chứa các thông tin liên quan đến đường dẫn của những tệp trên

- thư mục data: chứa hình ảnh và nhãn gán của trái dứa

3.2.3.2 Huấn luyện mô hình Để thực hiện quá trình huấn luyện một cách đầy đủ và hoàn chỉnh Nhóm sử dụng Google Colab trên Drive làm môi trường phục vụ đào tạo vì tính hữu dụng và các thiết lập sẵn của nó Hơn hết, Google Colab cho phép sử dụng GPU để phục vụ cho mục đích huấn luyện

Hình 3.16 Khởi tạo quá trình sử dụng và kết nối với Google Colab

Bắt đầu huấn luyện mô hình Các thông số cài đặt được cập nhập

Hình 3.17 Huấn luyện mô hình với các thông số đã cài đặt

Hình 3.18: Quá trình huấn luyện bắt đầu thực thi

Kết quả của quá trình huấn luyện mô hình yolov4:

Hình 3.19 Mô hình huấn luyện sau khi đã huấn luyện hoàn thành

3.2.4 Đánh giá hiệu suất mô hình

3.2.4.1 Độ đo Để đánh giá mô hình, so sánh kết quả từ mô hình YOLOv4 và Fast R-CNN trên tập xác nhận đã thu thập từ trước Hệ số IOU đạt được 0.5 hoặc lớn hơn GTI Trường hợp này được coi là vị trí đạt được tiêu chuẩn IOU được xác định bằng cách chia số pixel trong giao điểm cho toàn bộ pixel Precisions, recall và F1 được sử dụng để đánh giá hiệu suất mô hình và được tính như bên dưới:

Trong bài viết này, TP biểu thị cho giá trị đạt tiêu chuẩn, FP là giá trị không đạt tiêu chuẩn và FN là giá trị sai Độ chính xác trung bình (AP) được tính bằng diện tích của biểu đồ bao gồm Precisions, Recall, mAP và F1-score Đặc biệt, độ đo chính là độ chín của trái dứa, được xác định dựa trên màu sắc và mức độ phủ của màu sắc.

Trong phần này trình bày các kết quả thu được sau khi thử nghiệm đánh giá phương pháp

Hình 3.20 Đồ thị hàm tính toán đánh giá hiệu suất mô hình đào tạo của Fast R-

Hình 3.21 Đồ thị hàm tính toán đánh giá hiệu suất mô hình đào tạo của YOLOv4

Bảng 3.1 Thống kê hiệu suất nhận dạng của hệ thống

Khung hình Tỷ lệ nhận dạng Theo dõi số lượng

Hình 3.22 (a) Đầu vào (b) đầu ra của hệ thống nhận dạng

Hình 3.23 Hệ thống tiến hành xác định trái dứa

Hình 3.24 Hệ thống tiến hành định vị vị trí trái dứa trên hình ảnh

Sơ đồ trong Hình 3.21 cho thấy độ chính xác đạt từ 90% đến 95% với đường cong rõ rệt khi sử dụng hệ số α nhỏ, giúp tính toán mà không vượt ngưỡng sau mỗi lần lặp Việc giảm thiểu loss và false negative được thể hiện rõ rệt, gần đạt ngưỡng tối ưu toàn cầu Sử dụng hình ảnh trái dứa với nhiều kích cỡ giúp nghiên cứu đạt độ chính xác cao Hình 3.22 cho thấy các thông số chính xác và mất mát của mô hình đạt kết quả tốt, với độ chính xác từ 75% đến 87% và độ mất mát giảm xuống mức tối thiểu 2.5% Hình 3.23(a) thử nghiệm nhận diện trái dứa cho kết quả độ chính xác 95,624% như thể hiện trong Hình 3.23(b), cho thấy khả năng thực nghiệm trong nông trường thực tế Hình 3.24 và Hình 3.25 mô phỏng dự đoán của thuật toán Fast R-CNN, cho thấy khả năng phát hiện và phân loại tối ưu cho mô hình nhận dạng đối tượng.

3.2.5 Đánh giá hệ thống Đề tài nghiên cứu với kết quả đạt được như sau:

Sau khi hoàn thiện quá trình thu thập cơ sở dữ liệu, hình ảnh các quả dứa đã được thu thập Tiến tới bước huấn luyện, luận văn đã xây dựng một hệ thống hiệu quả để xử lý và phân tích dữ liệu này.

Hệ thống phân tích hình ảnh và video với 86 chức năng cho phép nhận dữ liệu đầu vào, xử lý và phân tích, sau đó so sánh với mô hình huấn luyện đã được đào tạo Kết quả đánh giá sẽ được hiển thị ngay sau quá trình phân tích, giúp người dân canh tác tại các khu vườn dễ dàng sử dụng Dưới đây là một số hình ảnh minh họa về hệ thống này.

Hình 3.25 Giao diện hệ thống nhận dạng và phát hiện trái dứa

Hình 3.26 Chọn hình ảnh cho hệ thống so sánh

Hình 3.27: Kết quả hệ thống trả về

Hình 3.28 Kết quả hệ thống trả về

Hình 3.29 Kết quả nhận diện trên ứng dụng

Hình 3.30 Kết quả nhận diện trên ứng dụng

Hình 3.31 Kết quả đếm số lượng trái dứa

Nhóm đã xây dựng được một hệ thống khá hoàn chỉnh trong quá trình nghiên cứu Hệ thống đã cho thấy được một kết quả khả quan

Trong bối cảnh dịch Covid-19 kéo dài, việc thu thập dữ liệu gặp nhiều khó khăn, đặc biệt là tại các vườn trồng dứa ở Quảng Nam – Đà Nẵng.

Ngày đăng: 29/11/2023, 08:34

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

TÀI LIỆU LIÊN QUAN

w