1. Trang chủ
  2. » Công Nghệ Thông Tin

Thiết kế mô hình mạng nơ ron Để nhận diện hoa. có file code

41 3 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 đề Thiết Kế Mô Hình Mạng Nơ-ron Để Nhận Diện Hoa
Tác giả Vũ Ngọc Minh, Phạm Minh Quang, Phạm Quang Tuyến, Chu Ngọc Vị
Người hướng dẫn ThS. Dương Thị Hằng
Trường học Trường Đại Học Công Nghiệp Hà Nội
Chuyên ngành Mạng Nơ-ron Nhân Tạo
Thể loại Đồ án
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 41
Dung lượng 2,77 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • CHƯƠNG 1. TỔNG QUAN (12)
    • 1.1. Tổng quan vấn đề nghiên cứu (12)
    • 1.2. Nội dung lý thuyết liên quan (0)
      • 1.2.1. Giới thiệu chung về mạng Nơ-ron nhân tạo (0)
      • 1.2.2. Các thành phần của mạng (13)
      • 1.2.3. Nguyên lý của một Nơ-ron tích chập điển hình (16)
    • 1.3. Kết luận chương 1 (0)
  • CHƯƠNG 2. THIẾT KẾ MÔ HÌNH MẠNG NƠ-RON NHẬN DẠNG HÌNH ẢNH HOA SỬ DỤNG MÔ HÌNH CNN (18)
    • 2.1. Phân tích yêu cầu bài toán (18)
      • 2.1.1. Mục tiêu thiết kế (18)
      • 2.1.2. Điều kiện ràng buộc của thiết kế (18)
      • 2.1.3. Thông số kỹ thuật (18)
      • 2.1.4. Tiêu chí đánh giá sản phẩm (18)
    • 2.2. Thiết kế ý tưởng (0)
      • 2.2.1. Mạng Nơ-ron Perceptron (19)
      • 2.2.2. Mạng Nơ-ron Tích chập (CNN) (20)
      • 2.2.3. Lựa chọn phương án tối ưu (0)
    • 2.3. Thiết kế chi tiết (0)
      • 2.3.1. Xây dựng mô hình huấn luyện mạng Nơ-ron và thuật toán (22)
      • 2.3.2. Huấn luyện mạng Nơ-ron (24)
      • 2.3.3. Thiết kế phần mềm (0)
    • 2.4. Kết luận chương 2 (0)
  • CHƯƠNG 3. THỬ NGHIỆM VÀ ĐÁNH GIÁ (34)
    • 3.1. Vận hành sản phẩm (34)
    • 3.2. Thử nghiệm và kiểm chứng sản phẩm (35)
    • 3.3. Đánh giá sản phẩm (35)
    • 3.4. Ứng dụng của sản phẩm (36)
    • 3.5. Tác động của sản phẩm thiết kế tới môi trường/kinh tế/ xã hội (0)
    • 3.6. Kết luận chương 3 (0)
  • KẾT LUẬN (38)
  • TÀI LIỆU THAM KHẢO (39)
  • PHỤ LỤC (40)

Nội dung

TỔNG QUAN

Tổng quan vấn đề nghiên cứu

Trong thời đại công nghệ hiện nay, nhiều nghiên cứu đã phát triển các mô hình nhận dạng hình ảnh hoa bằng thuật toán CNN, nổi bật là ResNet của Heetal (2015) và AlexNet của Krizhevskyetal (2012), cải thiện đáng kể độ chính xác và tạo nền tảng cho mạng nơron sâu Nghiên cứu của Daffertshofer và cộng sự (2020) đã áp dụng CNN vào phân loại hoa trong tự nhiên, cho thấy tiềm năng lớn của công nghệ AI trong bảo tồn và nghiên cứu.

Mặc dù có những tiến bộ, nhưng vẫn còn một số vấn đề tồn tại Việc thu thập dữ liệu hình ảnh thiếu sự đa dạng, dẫn đến khả năng mô hình bị thiên lệch Hơn nữa, các yếu tố môi trường như ánh sáng và góc chụp chưa được nghiên cứu một cách đầy đủ, ảnh hưởng đến độ chính xác của mô hình trong các điều kiện thực tế.

Đề tài “Thiết kế mô hình mạng Nơ-ron nhận dạng hình ảnh hoa” cần chú trọng vào việc xây dựng một tập dữ liệu phong phú và đa dạng, đồng thời tối ưu hóa thuật toán để nâng cao hiệu suất Nghiên cứu này không chỉ bổ sung cho lý thuyết mà còn tạo ra giá trị thực tiễn lớn trong công tác bảo tồn và nghiên cứu hoa.

1.2 Nội dung lý thuyết liên quan

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

CNN là một mô hình toán học phức tạp trong trí tuệ nhân tạo, được sử dụng để xử lý thông tin và giải quyết các vấn đề trong học máy, AI, và deep learning Mô hình này tìm kiếm các mối quan hệ cơ bản trong tập dữ liệu thông qua việc mô phỏng hoạt động của tế bào thần kinh và khớp thần kinh trong não người.

Nơ-ron Network hoạt động giống như bộ não con người, kết nối các nút đơn giản để tạo thành một mạng lưới Hệ thống này được coi là các tế bào thần kinh nhân tạo Trong Nơ-ron Network, nhiều thuật toán được áp dụng nhằm xác định và nhận diện các mối quan hệ trong tập dữ liệu.

Phương thức này tạo ra một hệ thống thích ứng cho phép máy tính học hỏi từ sai lầm và cải thiện liên tục Mạng Nơ-ron nhân tạo được thiết kế để giải quyết các vấn đề phức tạp, như tóm tắt tài liệu và nhận diện khuôn mặt, hình ảnh, âm thanh với độ chính xác cao hơn.

1.2.2 Các thành phần của mạng

Một mạng Nơ-ron nhân tạo bao gồm các Nơ-ron nhân tạo và các lớp perceptron Mô hình Nơ-ron nhân tạo được xây dựng dựa trên cấu trúc của một Nơ-ron sinh học.

Hình 1.1: Cấu tạo của 1 Nơ-ron sinh học

- Trên cơ sở cấu tao của một Nơ-ron sinh học, mô hình Nơ-ron nhân tạo được xây dựng như sau:

Mô hình mạng Nơ-ron nhân tạo bao gồm các đầu vào p1, p2, , pk được kết nối qua bộ trọng số w1.1, w1.2, , w1.k có thể thay đổi Các đầu vào này được đưa vào bộ tổng, và Nơ-ron còn có độ lệch bias (b) được cộng với các đầu vào đã được trọng số hóa để tính toán đầu ra n theo công thức.

W là ma trận trọng số, còn pT là ma trận các giá trị đầu vào và đầu ra của các Nơ-ron, được tính theo công thức.

Hàm truyền đạt (transfer function) f trong mạng Nơ–ron Perceptron là một cấu trúc đơn giản, bao gồm một lớp với M nơ–ron nhân tạo Mỗi nơ–ron trong mạng này nhận N tín hiệu đầu vào.

Mạng Nơ-ron, hay còn gọi là perceptron đa tầng, là sự kết hợp của các tầng perceptron Mỗi mạng Nơ-ron thường được cấu trúc theo ba lớp.

Lớp đầu vào của mạng Nơ-ron nhân tạo nằm ở phía bên trái, đại diện cho các đầu vào của hệ thống Thông tin từ thế giới bên ngoài được đưa vào qua lớp này, nơi các nút đầu vào xử lý, phân tích và phân loại dữ liệu trước khi chuyển tiếp sang lớp tiếp theo.

Lớp ẩn trong Nơ-ron Network là tầng nằm giữa tầng vào và tầng ra, đóng vai trò quan trọng trong quá trình suy luận logic Nó đại diện cho các nút trung gian, giúp phân chia không gian đầu vào thành các vùng mềm, tạo ra ranh giới cho các quyết định của mạng.

Dữ liệu trong mạng nơ-ron nhân tạo được truyền từ lớp đầu vào hoặc các lớp ẩn khác Mạng có thể bao gồm nhiều lớp ẩn, mỗi lớp sẽ phân tích và xử lý dữ liệu đầu ra từ lớp trước, sau đó chuyển tiếp dữ liệu đến lớp tiếp theo Các lớp ẩn nhận đầu vào có trọng số và sử dụng một hàm kích hoạt để tạo ra kết quả đầu ra.

Lớp đầu ra trong mạng Nơ-ron nhân tạo nằm ở phía bên phải và đại diện cho kết quả cuối cùng của quá trình xử lý dữ liệu Nó có thể bao gồm một hoặc nhiều nút, cung cấp các đầu ra của mạng.

Kết luận chương 1

Thiết kế mô hình mạng Nơ-ron nhân tạo: hiệu quả, có độ nhận dạng chính xác cao.

Thiết kế mô hình phần mềm:

- Chuẩn bị dữ liệu đầu vào.

- Phân tách tập dữ liệu train, validation và test

- Chọn hàm mất mát và tối ưu hóa

- Đánh giá và điều chỉnh mô hình

- Lưu trữ và triển khai.

2.1.2 Điều kiện ràng buộc của thiết kế

Hình ảnh đầu vào phải nằm trong dữ liệu hình ảnh folder data.

Mô hình mạng Nơ-ron phải có tối thiểu 1 lớp CNN và có 1 lớp ẩn Số Nơ- ron lớp ẩn phải lớn hơn 3 Nơ-ron [3].

2.1.3 Thông số kỹ thuật Độ chính xác nhận dạng đạt tối thiểu 70%.

Ma trận đầu vào (input) có kích thước ma trận: 200x200x3 (200 hàng 200 cột và chiều sâu là 3).

Số đầu ra của mô hình Nơ-ron là 1.

2.1.4 Tiêu chí đánh giá sản phẩm

Nhận diện được hình ảnh hoa đưa vào sau khi train thuộc hoa gì với độ chính xác bao nhiêu và đánh giá tổng thể mô hình.

THIẾT KẾ MÔ HÌNH MẠNG NƠ-RON NHẬN DẠNG HÌNH ẢNH HOA SỬ DỤNG MÔ HÌNH CNN

Phân tích yêu cầu bài toán

Thiết kế mô hình mạng Nơ-ron nhân tạo: hiệu quả, có độ nhận dạng chính xác cao.

Thiết kế mô hình phần mềm:

- Chuẩn bị dữ liệu đầu vào.

- Phân tách tập dữ liệu train, validation và test

- Chọn hàm mất mát và tối ưu hóa

- Đánh giá và điều chỉnh mô hình

- Lưu trữ và triển khai.

2.1.2 Điều kiện ràng buộc của thiết kế

Hình ảnh đầu vào phải nằm trong dữ liệu hình ảnh folder data.

Mô hình mạng Nơ-ron phải có tối thiểu 1 lớp CNN và có 1 lớp ẩn Số Nơ- ron lớp ẩn phải lớn hơn 3 Nơ-ron [3].

2.1.3 Thông số kỹ thuật Độ chính xác nhận dạng đạt tối thiểu 70%.

Ma trận đầu vào (input) có kích thước ma trận: 200x200x3 (200 hàng 200 cột và chiều sâu là 3).

Số đầu ra của mô hình Nơ-ron là 1.

2.1.4 Tiêu chí đánh giá sản phẩm

Nhận diện được hình ảnh hoa đưa vào sau khi train thuộc hoa gì với độ chính xác bao nhiêu và đánh giá tổng thể mô hình.

Thiết kế ý tưởng

Trong thời kỳ đổi mới hiện đại, việc nhận diện hình ảnh hoa trong các lĩnh vực kinh tế và nông nghiệp đóng vai trò quan trọng Hoạt động này không chỉ hữu ích mà còn cần thiết cho cuộc sống Để nâng cao khả năng nhận diện chính xác, nhóm chúng tôi đã đề xuất hai giải pháp: mạng Nơ-ron Perceptron và mạng Nơ-ron Tích chập (CNN) để giải quyết bài toán này.

2.2.1 Mạng Nơ-ron Perceptron

Mô hình Perceptron là một mạng thần kinh đơn giản với bốn tham số chính: giá trị đầu vào, trọng số, độ lệch và đầu ra, cùng với hàm kích hoạt.

Mô hình perceptron hoạt động bằng cách nhân các giá trị đầu vào với trọng số tương ứng, sau đó cộng lại để tạo ra tổng trọng số Tổng trọng số này sẽ được đưa vào hàm kích hoạt 'f' nhằm tạo ra đầu ra mong muốn.

Bước 1: Nhân tất cả các giá trị đầu vào với các giá trị trọng số tương ứng và cộng lại để tính tổng trọng số Biểu thức toán học cho quá trình này được thể hiện như sau:

(2.1) Cộng thêm độ lệch 'b' vào tổng trọng số này sẽ giúp cải thiện hiệu suất của mô hình.

Bước 2: Áp dụng hàm kích hoạt cho tổng trọng số sẽ cho ra kết quả đầu ra dưới dạng nhị phân hoặc giá trị liên tục.

Hàm perceptron '' '' có thể đạt được dưới dạng đầu ra bằng cách nhân đầu vào 'x' với hệ số trọng số 'w' đã học.

'w' trọng số của Nơ-ron.

Mô hình Perceptron có những ưu điểm nổi bật, bao gồm tính đơn giản và dễ hiểu, giúp người dùng dễ dàng thực hiện và giải thích Điều này khiến Perceptron trở thành lựa chọn lý tưởng cho các bài toán đơn giản.

Perceptron dễ dàng huấn luyện, với quá trình nhanh chóng và không tốn nhiều tài nguyên so với các mô hình phức tạp khác, điều này rất hữu ích khi dữ liệu hạn chế.

Hạn chế của mô hình Perceptron [3].

Perceptron chỉ có khả năng phân loại các bộ vectơ đầu vào có thể phân tách tuyến tính Đối với các vectơ đầu vào phi tuyến tính, việc phân loại chính xác trở nên khó khăn.

2.2.2 Mạng Nơ-ron tích chập (CNN) a Giới thiệu về CNN

CNN, viết tắt của Convolutional Nơ-ron Network, hay mạng Nơ-ron tích chập, là một trong những mô hình Deep Learning tiên tiến nhất, cho phép xây dựng hệ thống với độ chính xác cao và thông minh Nhờ vào khả năng này, CNN có nhiều ứng dụng, đặc biệt trong việc nhận dạng vật thể trong ảnh Các lớp cơ bản của mạng CNN đóng vai trò quan trọng trong việc xử lý và phân tích dữ liệu hình ảnh.

Convolution Nơ-ron network gồm những lớp cơ bản sau [1]:

- Convolutional Layer: đóng vai trò mấu chốt của CNN, đảm nhiệm việc thực hiện mọi tính toán Những yếu tố quan trọng nhất của Convolutional layer bao gồm:

+ Stride: bước sải của bộ lọc filter map từ trái sang phải hoặc từ trên xuống dưới.

+ Padding: các giá trị 0 được thêm cùng lớp input.

+ Feature map: thể hiện kết quả của quá trình tính toán sau mỗi lần filter map quét qua input.

Relu layer là một hàm kích hoạt quan trọng trong mạng nơ-ron tích chập (CNN), giúp mô phỏng tỷ lệ truyền xung qua các nơ-ron Với nhiều ưu điểm vượt trội, Relu layer được ứng dụng rộng rãi trong quá trình huấn luyện nơ-ron.

Lớp pooling được đặt giữa các lớp tích chập (CONV) với mục đích giảm số lượng tham số đầu vào Hai loại lớp pooling phổ biến là max pooling và average pooling.

Lớp kết nối đầy đủ (FC) nhận đầu vào từ các lớp trước đó, bao gồm lớp tích chập (CONV) và lớp pooling, để xuất kết quả Cấu trúc của mạng CNN bao gồm các thành phần này, giúp tối ưu hóa quá trình nhận diện và phân loại hình ảnh.

Mạng Nơ-ron tích chập (CNN) là tập hợp các lớp tích chập chồng lên nhau, sử dụng các hàm kích hoạt phi tuyến như ReLU và tanh để kích hoạt trọng số trong các node Mỗi lớp tạo ra thông tin trừu tượng hơn cho các lớp kế cận thông qua các hàm kích hoạt Hai đặc điểm quan trọng của mô hình CNN là tính bất biến và tính kết hợp, ảnh hưởng đến độ chính xác khi đối tượng được chiếu từ nhiều góc độ khác nhau Để xử lý các biến thể như dịch chuyển, co giãn và quay, pooling layer được sử dụng để làm bất biến những tính chất này Cấu trúc cơ bản của CNN bao gồm ba phần chính.

Trường cục bộ đóng vai trò quan trọng trong việc phân tách và lọc dữ liệu cũng như thông tin hình ảnh, giúp xác định các vùng ảnh có giá trị sử dụng cao nhất.

Trong mạng CNN, việc sử dụng trọng số và bias chia sẻ giúp giảm thiểu số lượng tham số cần thiết, từ đó tối ưu hóa hiệu suất Mỗi phép tích chập (convolution) sẽ tạo ra nhiều bản đồ đặc trưng (feature map) khác nhau, với mỗi bản đồ có khả năng nhận diện các đặc điểm khác nhau trong hình ảnh.

Thiết kế chi tiết

ý và đúng với yêu cầu hay mong muốn.

2.2.3 Lựa chọn phương án tối ưu

CNN được phát triển đặc biệt để xử lý dữ liệu không gian như ảnh và video Nhờ vào các tầng tích chập, CNN có khả năng nhận diện các đặc trưng không gian và duy trì thông tin cấu trúc trong dữ liệu.

CNN đã thể hiện hiệu suất vượt trội trong nhiều ứng dụng nhận diện đối tượng, bao gồm nhận diện khuôn mặt, phân loại ảnh và các tác vụ xử lý ảnh khác.

CNN có khả năng tự động trích xuất đặc trưng từ dữ liệu, giúp giảm thiểu công đoạn tiền xử lý và giảm sự phụ thuộc vào việc chọn đặc trưng thủ công.

CNN là lựa chọn tối ưu cho các ứng dụng liên quan đến thị giác máy tính, chẳng hạn như hệ thống nhận diện vật thể trong ảnh.

Mạng Nơ-ron tích chập (CNN) là lựa chọn tối ưu hơn so với mạng Perceptron trong việc thiết kế mô hình nhận diện hình ảnh hoa nhờ vào các ưu điểm vượt trội của nó.

2.3.1 Xây dựng mô hình huấn luyện mạng Nơ-ron và thuật toán

Hình 2.5: Mô hình huấn luyện mạng Nơ-ron

Công thức tính kích thước output của convolutional layer: output ¿input ¿ernel x paddingstride stride + 1 (2.3) Trong trường hợp này, với input size: 200×200×3:

Nên output của lớp CONV1 đầu tiên sẽ có kích thước 198×198 với 32 filters. Hàm activation được sử dụng là hàm ReLu.

Qua lớp maxpooling có kích thước 2x2 giúp giảm kích thước đầu vào.

Khi áp dụng lớp maxpooling với kích thước 2x2, các giá trị lớn nhất trong ma trận 2x2 sẽ được giữ lại, giúp giảm kích thước dữ liệu đầu vào mà vẫn duy trì thông tin quan trọng Phép tính này được minh họa qua ví dụ dưới đây.

=> Thực hiện tương tượng với ví dụ bên trên ta tính được output size sẽ có kích thước là: 198/2 = 99.

- Tiếp tục đưa input qua 2 lớp CONV2 với các thông số như sau:

- Ta được output có kích thước sau khi qua 2 lớp CONV2 là: 97×97×64

- Tiếp tục đưa input qua lớp maxpooling có kích thước 2x2 ta được: output_size = 48×48×64

- Tiếp tục đưa input qua 3 lớp CONV3 với các thông số như sau:

- Ta được output có kích thước sau khi qua 3 lớp CONV3 là: 46×46×128

- Tiếp tục đưa input qua lớp maxpooling có kích thước 2x2 ta được: output_size = 23×23×128.

- Tại hiden layer sử dụng 512 Nơ-ron.

- Sử dụng hàm ReLu làm hàm activation function.

- Sử dụng hàm softmax với số đầu ra là 3.

- Hàm softmax giúp chuẩn hóa các giá trị đầu ra thành một phân phối xác suất sao cho tổng các xác suất bằng 1.

2.3.2 Huấn luyện mạng Nơ-ron

Bước 1 Tính toán giá trị gradient theo thuật toán Gradient Descent

- Tính toán gradient của hàm mất mát theo trọng số.

- Giá trị gradient được tính theo công thức đạo hàm sau:

W i X ij ) X ia (2.6) Bước 2 Cập nhật trung bình di động (Momentum Term):

- Tính toán trung bình di động của gradient m t sử dụng công thức: m t = β 1 m t−1 +( 1 − β 1 ) gradient (2.7) + β 1: hệ số giảm dần của momentum Giá trị khởi tạo ban đầu là: 0,9

Bước 3 Cập nhật trung bình di động bình phương(RMSprop Term):

Để tính toán giá trị trung bình di động bình phương của gradient \( v_t \), ta sử dụng công thức: \[v_t = \beta_2 \cdot v_{t-1} + (1 - \beta_2) \cdot \text{gradient}\]Trong đó, \( \beta_2 \) là hệ số giảm dần bình phương gradient, với giá trị khởi tạo ban đầu là 0,999 Bước 4 là hiệu chỉnh trung bình di động, trong đó điều chỉnh giá trị \( m_t \) và \( v_t \) nhằm giảm ảnh hưởng của giá trị ban đầu \( m_0 \) và \( v_0 \): \[m_t \text{ corrected} = m_t\]

Bước 5: Cập nhật trọng số \( w_n = w_{n-1} - \alpha \cdot \frac{m_t^{\text{corrected}}}{\sqrt{v_t^{\text{corrected}}} + \epsilon} \) (2.11) Trong đó, \( w_n \) là trọng số sau khi cập nhật, \( w_{n-1} \) là trọng số trước khi cập nhật, và \( \epsilon \) được khởi tạo là \( 10^{-6} \) để đảm bảo tính ổn định và độ tin cậy.

- Thuật toán Adam được xây dựng với tốc độ học (learning rate) được thiết lập cho thuật toán Adam là: learning rate=0.001

2.3.3 Thiết kế phần mềm a Các thư viện cần sử dụng.

Một file hình ảnh định dạng jpg sẽ được xử lý và dữ liệu sẽ được biểu diễn dưới dạng ma trận để phục vụ cho tính toán Python cung cấp nhiều thư viện hữu ích cho việc xử lý hình ảnh.

TensorFlow là thư viện mã nguồn mở hàng đầu thế giới trong lĩnh vực học máy và học sâu, được phát triển bởi các nhà nghiên cứu của Google Thư viện này cung cấp hỗ trợ mạnh mẽ cho các phép toán học, giúp đơn giản hóa và tăng tốc quá trình giải quyết các bài toán trong học máy và học sâu.

Matplotlib.pyplot là một thư viện mạnh mẽ cho phép người dùng tạo ra nhiều loại biểu đồ như biểu đồ đường, biểu đồ cột, biểu đồ phân tán và biểu đồ hộp Thư viện này cung cấp các công cụ linh hoạt để điều chỉnh và tùy chỉnh các yếu tố của biểu đồ, bao gồm màu sắc, đường viền, kích thước, vị trí và tiêu đề.

Numpy (Numeric Python) là một thư viện toán học mạnh mẽ và phổ biến trong Python, cho phép xử lý hiệu quả các ma trận và mảng, đặc biệt là với dữ liệu lớn, mang lại tốc độ xử lý nhanh hơn nhiều so với việc sử dụng chỉ “core Python” đơn thuần.

Dữ liệu ảnh được thu thập từ ba loài hoa: hồng, cúc và tulip, được lưu trữ trên máy tính tại thư mục E:\Data, bao gồm hai thư mục con là Train, Validation và Test Mỗi loài hoa có một thư mục riêng, với tổng số lượng ảnh là 2100 ảnh cho Train, 600 ảnh cho Validation và 300 ảnh cho Test.

Hình 2.7: Dữ liệu ảnh c Xây dựng mô hình nhận ảnh sử dụng mạng Nơ-ron học sâu CNN trên Google Colab.

- Khai báo các thư viện sử dụng

- Kết nối với Google Drive để đọc và lưu dữ liệu

- Chạy đoạn code kết quả hiện ra như sau:

- Khai báo đường dẫn thư mục chứa dữ liệu ảnh

Khai báo đường dẫn đến thư mục chứa ảnh để huấn luyện và kiểm định mô hình.

Phân loại ảnh là một bài toán học có giám sát, yêu cầu dữ liệu huấn luyện và kiểm định phải được gán nhãn Các ảnh được gán nhãn dựa trên tên thư mục chứa chúng, với tên và thứ tự các nhãn tương ứng với tên và thứ tự các thư mục của ảnh huấn luyện và kiểm định.

- Tiền xử lý dữ liệu với ImageDataGenerator

Tham số rescale=1/255 có tác dụng chuẩn hóa dữ liệu ảnh về các giá trị nằm trong khoảng [0, 1].

Một file ảnh JPEG được lưu trong máy tính dưới dạng một ma trận dữ liệu số có giá trị trong khoảng [0, 255].

Để biểu diễn một bức ảnh 256x256 pixel trong máy tính, cần một ma trận kích thước 256x256, với mỗi phần tử có giá trị từ 0 đến 255 Nếu ảnh là màu, sẽ có 3 ma trận 256x256 cho các kênh RGB, trong khi ảnh xám chỉ cần 1 ma trận 256x256 Tiếp theo, cần đọc dữ liệu train và validation để xây dựng mô hình.

- Mô hình gồm 6 tầng: Input image -> CNN1 -> CNN2 -> CNN3 ->

Kết luận chương 2

Ban đầu chạy đoạn chương trình bên dưới rồi chọn đến mục dữ liệu hình ảnh cần để huấn luyện

Sau khi kết nối tệp dữ liệu hình ảnh, quá trình huấn luyện sẽ cho phép dự đoán kết quả đầu ra dựa trên dữ liệu đầu vào đã chọn.

Hình 3.13: Kết quả dự đoán

THỬ NGHIỆM VÀ ĐÁNH GIÁ

Vận hành sản phẩm

Ban đầu chạy đoạn chương trình bên dưới rồi chọn đến mục dữ liệu hình ảnh cần để huấn luyện

Sau khi chọn tệp dữ liệu hình ảnh, quá trình huấn luyện sẽ giúp dự đoán kết quả đầu ra dựa trên dữ liệu đầu vào.

Hình 3.13: Kết quả dự đoán

Thử nghiệm và kiểm chứng sản phẩm

Để kiểm tra độ chính xác của mô hình mạng nơ-ron trong việc nhận diện hình ảnh hoa, nhóm chúng tôi đã thực hiện đánh giá thông qua việc kiểm tra trên một số hình ảnh cụ thể dưới đây.

Bảng 1.1: Kết quả thử nghiệm sản phẩm

STT Các loại hoa Đánh giá

Dự đoán đúng 85 hình/100 hình với tỉ lệ chính xác 85%

Dự đoán đúng 75 hình/100 hình với tỉ lệ chính xác 75%

Dự đoán đúng 70 hình/100 hình với tỉ lệ chính xác 70%

Đánh giá sản phẩm

Mô hình mạng Nơ-ron đã cho thấy hiệu quả tốt khi nhận diện 3 loài hoa, với độ chính xác cao nhất đạt 85% cho hoa cúc Tuy nhiên, do sự phân bố không đồng đều của dữ liệu hình ảnh, độ phân giải và kích thước ảnh, mức độ chính xác chung chỉ đạt 76,67% Hoa cúc không chỉ có độ chính xác cao nhất mà còn có thời gian nhận diện ngắn và tối ưu hơn so với hoa hồng và hoa tulip.

Mô hình mạng Nơ-ron đạt độ chính xác tối thiểu 70% trong việc nhận diện hoa Mặc dù kết quả khá tốt, vẫn còn cơ hội để nâng cao độ chính xác thông qua việc tăng cường dữ liệu và tinh chỉnh các tham số liên quan.

Ứng dụng của sản phẩm

Mô hình nhận dạng hoa đóng vai trò quan trọng trong giáo dục, cung cấp công cụ hữu ích cho việc học về đa dạng hoa Nó hỗ trợ việc nhận diện và tìm hiểu các loài hoa trong môi trường học tập, giúp nâng cao kiến thức và sự hiểu biết của học sinh về thiên nhiên.

Bảo tồn và quản lý các loại hoa là cần thiết để bảo vệ môi trường, xác định và theo dõi sự hiện diện của các loài hoa trong tự nhiên Việc theo dõi số lượng và sự đa dạng của các loài hoa giúp xây dựng các chiến lược bảo tồn hiệu quả.

Phân loại cây thuốc rất quan trọng, vì một số loại hoa không chỉ là thành phần của các bài thuốc mà còn có giá trị trong y học Việc nhận diện nhanh chóng các loài hoa này sẽ hỗ trợ hiệu quả cho nghiên cứu và sản xuất dược phẩm.

3.5 Tác động của sản phẩm thiết kế tới môi trường/kinh tế/ xã hội.

Hỗ trợ nghiên cứu và bảo tồn đa dạng sinh học bằng cách xác định chính xác các loài hoa, giúp phân loại và nhận diện các loài hiếm hoặc khó phân biệt Điều này cũng hỗ trợ theo dõi sự phân bố và tình trạng của các loài hoa trong tự nhiên, từ đó đưa ra biện pháp bảo tồn hiệu quả Trong thương mại và nông nghiệp, mô hình CNN hỗ trợ phân loại và kiểm tra chất lượng hoa, đồng thời giúp các cửa hàng hoa và nền tảng thương mại điện tử cung cấp thông tin sản phẩm chi tiết cho khách hàng Ngoài ra, việc nhận diện nhanh chóng các loài hoa có giá trị trong y học hỗ trợ nghiên cứu và sản xuất dược phẩm.

Mô hình CNN trong nhận diện hoa mang lại nhiều lợi ích đa dạng, góp phần quan trọng vào việc ứng dụng công nghệ trong giáo dục, bảo tồn, thương mại và đời sống hàng ngày.

Chương 3 tập trung vào tổng kết và đánh giá kết quả của đề tài Nhóm 3 chúng em đã nghiên cứu, đánh giá và kiểm thử mô hình mạng Nơ-ron giúp nhận dạng các loài hoa từ hình ảnh Kết quả cho thấy mô hình đạt độ chính xác tốt, đặc biệt là trong việc nhận diện hoa cúc

Mô hình này mang lại nhiều lợi ích trong kinh tế, văn hóa và xã hội, đặc biệt trong quản lý xuất nhập khẩu hoa và bảo tồn đa dạng sinh học Nó cũng có ứng dụng quan trọng trong y học, với một số loại hoa là thành phần trong các bài thuốc Tuy nhiên, cần cải thiện độ chính xác và khả năng nhận diện trong các điều kiện đa dạng Nhóm 3 sẽ tiếp tục nghiên cứu, phát triển mô hình và mở rộng ứng dụng vào các lĩnh vực khác để nâng cao chất lượng sản phẩm.

Kết luận chương 3

Bài báo cáo này giới thiệu một mô hình nhận diện hình ảnh các loài hoa dựa trên mạng nơron tích chập (CNN) Mô hình bao gồm ba mạng CNN xếp chồng, hoạt động đồng thời để phát hiện các đặc điểm nổi bật trong dữ liệu đầu vào Thuật toán này mang lại nhiều lợi ích, bao gồm khả năng nhận diện chính xác hơn và trích xuất nhiều đặc trưng hình ảnh của hoa Nhờ đó, người dùng có thể nhận biết thêm nhiều loài hoa, kể cả những loài chưa được biết đến rộng rãi.

Nhóm em mong muốn phát triển một sản phẩm có tính ứng dụng cao, dễ sử dụng, nhằm mang lại lợi ích thiết thực cho cộng đồng và nhà nước.

Ngày đăng: 10/06/2025, 10:24

HÌNH ẢNH LIÊN QUAN

Hình 1.4: Cấu trúc mạng Nơ-ron nhiều lớp Với mạng Nơ-ron Network, mỗi nút mạng sẽ được coi là Sigmoid Nơ-ron nhưng hàm kích hoạt của chúng lại hoàn toàn khác nhau - Thiết kế mô hình mạng nơ ron Để nhận diện hoa. có file code
Hình 1.4 Cấu trúc mạng Nơ-ron nhiều lớp Với mạng Nơ-ron Network, mỗi nút mạng sẽ được coi là Sigmoid Nơ-ron nhưng hàm kích hoạt của chúng lại hoàn toàn khác nhau (Trang 15)
Hình 2.5: Mô hình huấn luyện mạng Nơ-ron - Thiết kế mô hình mạng nơ ron Để nhận diện hoa. có file code
Hình 2.5 Mô hình huấn luyện mạng Nơ-ron (Trang 22)
Hình 2.6: Hàm maxpooling - Thiết kế mô hình mạng nơ ron Để nhận diện hoa. có file code
Hình 2.6 Hàm maxpooling (Trang 23)
Hình 2.7: Dữ liệu ảnh - Thiết kế mô hình mạng nơ ron Để nhận diện hoa. có file code
Hình 2.7 Dữ liệu ảnh (Trang 26)
Hình 2.8: Ma trận dữ liệu ảnh - Thiết kế mô hình mạng nơ ron Để nhận diện hoa. có file code
Hình 2.8 Ma trận dữ liệu ảnh (Trang 28)
Hình 2.9: Quá trình nhân tích chập - Thiết kế mô hình mạng nơ ron Để nhận diện hoa. có file code
Hình 2.9 Quá trình nhân tích chập (Trang 30)
Hình 2.11: Ma trận duỗi thẳng - Thiết kế mô hình mạng nơ ron Để nhận diện hoa. có file code
Hình 2.11 Ma trận duỗi thẳng (Trang 31)
Hình 3.13: Kết quả dự đoán - Thiết kế mô hình mạng nơ ron Để nhận diện hoa. có file code
Hình 3.13 Kết quả dự đoán (Trang 34)
Hình 3.12: Kết nối file data chọn ảnh Sau khi chọn tệp dữ liệu hình ảnh qua quá trình huấn luyện kết quả đầu ra - Thiết kế mô hình mạng nơ ron Để nhận diện hoa. có file code
Hình 3.12 Kết nối file data chọn ảnh Sau khi chọn tệp dữ liệu hình ảnh qua quá trình huấn luyện kết quả đầu ra (Trang 34)
Bảng 1.1: Kết quả thử nghiệm sản phẩm - Thiết kế mô hình mạng nơ ron Để nhận diện hoa. có file code
Bảng 1.1 Kết quả thử nghiệm sản phẩm (Trang 35)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w