Đồ án chuyên ngành: Phân loại giống chó bằng mạng nơ ron tích chập (CNN)

Đề tài khoa học ứng dụng mạng nơ ron tích chập (CNN) vào bài toán phân loại giống chó. Tổng quan lý thuyết, các mô hình VGG, MobileNet và thực nghiệm.

Trường đại học

Đại học Công nghiệp Hà Nội

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

Báo cáo bài tập lớn

2023

52
2
0

Phí lưu trữ

30 Point

Tóm tắt

I. Giới Thiệu Về Phân Loại Giống Chó Bằng CNN

Phân loại giống chó bằng mạng nơ ron tích chập (CNN) là một ứng dụng quan trọng của học máythị giác máy tính trong lĩnh vực trí tuệ nhân tạo (AI). Công nghệ này cho phép máy tính tự động nhận diện và phân loại các giống chó khác nhau dựa trên hình ảnh đầu vào. Mạng CNN có khả năng trích xuất các đặc trưng phức tạp từ ảnh, giúp việc nhận dạng trở nên chính xác và hiệu quả. Bài toán này không chỉ có giá trị học thuật mà còn ứng dụng thực tế trong các lĩnh vực như quản lý thú cưng, bảo vệ động vật, và dịch vụ thú y. Sự phát triển của deep learning đã mở ra những khả năng mới cho việc phân loại ảnh với độ chính xác cao, vượt qua khả năng của con người trong nhiều trường hợp.

1.1. Khái Niệm Mạng Nơ Ron Tích Chập

Mạng nơ ron tích chập (CNN) là một kiến trúc học sâu được thiết kế đặc biệt để xử lý dữ liệu có cấu trúc không gian như hình ảnh. CNN hoạt động bằng cách áp dụng các phép tích chập để trích xuất các đặc trưng cục bộ từ ảnh. Các lớp MaxPooling giúp giảm kích thước dữ liệu và tăng hiệu suất tính toán. Kiến trúc này gồm các lớp tích chập, lớp gộp, và lớp kết nối đầy đủ, cho phép mô hình học những biểu diễn dữ liệu ngày càng trừu tượng.

1.2. Ứng Dụng Thực Tế Của Phân Loại Giống Chó

Phân loại giống chó tự động có nhiều ứng dụng thực tế trong cuộc sống. Ứng dụng này có thể được sử dụng trong ứng dụng di động để người dùng chụp ảnh chó và biết được giống chó đó là gì. Ngoài ra, hệ thống này còn hữu ích trong công tác quản lý thú cưng, giải cứu động vật, và nghiên cứu khoa học về các giống chó khác nhau. Các tổ chức bảo vệ động vật có thể sử dụng công nghệ này để quản lý thông tin về các cá thể chó cần cứu trợ.

II. Lý Thuyết Và Kiến Trúc CNN Cho Phân Loại

Để xây dựng một hệ thống phân loại giống chó hiệu quả, cần hiểu rõ về kiến trúc CNN và các thành phần chính của nó. Mạng VGG16MobileNet là hai mô hình deep learning phổ biến được sử dụng làm base network cho bài toán này. VGG16 nổi tiếng với kiến trúc đơn giản nhưng mạnh mẽ, gồm các lớp tích chập với bộ lọc kích thước 3x3. MobileNet được tối ưu hóa cho các thiết bị di động, sử dụng Depthwise Separable Convolutions để giảm số lượng tham số. Cả hai mô hình đều có thể được fine-tuning trên tập dữ liệu giống chó để đạt hiệu suất tốt nhất.

2.1. Mô Hình VGG16 Trong Phân Loại Ảnh

VGG16 là một mô hình học sâu được phát triển bởi Visual Geometry Group, gồm 16 lớp tích chập. Kiến trúc VGG nổi bật với việc sử dụng các bộ lọc kích thước nhỏ (3x3) để trích xuất các đặc trưng hình ảnh ở các mức độ khác nhau. Mô hình này đã được huấn luyện trên tập dữ liệu ImageNet khổng lồ, do đó nó có thể được sử dụng làm transfer learning cho bài toán phân loại giống chó mà không cần phải huấn luyện từ đầu.

2.2. Mô Hình MobileNet Cho Thiết Bị Di Động

MobileNet là một kiến trúc CNN nhẹ được thiết kế để chạy trên các thiết bị di động và có tài nguyên hạn chế. MobileNet sử dụng Depthwise Separable Convolutions để giảm độ phức tạp tính toán mà vẫn giữ được độ chính xác cao. Mô hình này rất phù hợp cho các ứng dụng di động cần phân loại giống chó với tốc độ xử lý nhanhtiêu thụ năng lượng thấp.

III. Quy Trình Chuẩn Bị Dữ Liệu Và Huấn Luyện Mô Hình

Quá trình chuẩn bị dữ liệu là bước quan trọng nhất để xây dựng một hệ thống phân loại giống chó chính xác. Đầu tiên, cần thu thập dữ liệu hình ảnh của các giống chó khác nhau từ các nguồn đáng tin cậy. Sau đó, dữ liệu phải được chia thành tập train, validation và test theo tỷ lệ phù hợp. Bước tiền xử lý hình ảnh rất quan trọng, bao gồm chuẩn hóa dữ liệu, thay đổi kích thước ảnh, và chuyển đổi về định dạng RGB. Quá trình huấn luyện mô hình sử dụng các siêu tham số được tối ưu hóa, với mục tiêu tối thiểu hóa hàm mất mátcải thiện độ chính xác trên tập validation.

3.1. Thu Thập Và Tổ Chức Tập Dữ Liệu

Tập dữ liệu về giống chó cần bao gồm số lượng ảnh đủ lớn cho mỗi lớp (giống chó). Các ảnh phải có chất lượng cao, đa dạng về góc chụpđiều kiện ánh sáng. Dữ liệu được giải néntổ chức thành các thư mục riêng biệt cho mỗi giống chó. Việc cân bằng dữ liệu giữa các lớp là quan trọng để tránh bias trong quá trình huấn luyện.

3.2. Tiền Xử Lý Và Chuẩn Hóa Ảnh

Tiền xử lý ảnh bao gồm việc chuyển đổi kích thước tất cả ảnh về kích thước đồng nhất (thường 224x224 pixel cho VGG16). Chuẩn hóa dữ liệu được thực hiện bằng cách chia các giá trị pixel cho 255 hoặc sử dụng normalization dựa trên giá trị trung bình và độ lệch chuẩn. Chuyển đổi về RGB đảm bảo tất cả ảnh có cùng định dạng màu. Các kỹ thuật data augmentation như rotation, flip, và zoom có thể được áp dụng để tăng kích thước tập dữ liệu.

IV. Đánh Giá Mô Hình Và Ứng Dụng Demo

Sau khi huấn luyện mô hình phân loại giống chó, cần đánh giá hiệu suất của nó trên tập test độc lập. Các chỉ số đánh giá bao gồm độ chính xác (accuracy), precision, recall, và F1-score. Biểu đồ hàm mất mát cho phép quan sát quá trình huấn luyện và phát hiện overfitting hoặc underfitting. Một ứng dụng demo được xây dựng sử dụng thư viện OpenCV để cho phép người dùng tải lên hình ảnh chó và nhận được kết quả dự đoán giống chó tương ứng. Giao diện ứng dụng được thiết kế thân thiện, cho phép hiển thị ảnh tải lên và các xác suất dự đoán cho từng giống.

4.1. Các Chỉ Số Đánh Giá Hiệu Suất Mô Hình

Độ chính xác (accuracy) đo lường tỷ lệ dự đoán đúng trên tổng số mẫu. Precision đo lường tỷ lệ các dự đoán dương đúng trong tất cả dự đoán dương. Recall đo lường tỷ lệ mẫu dương được tìm thấy trong tất cả mẫu dương thực sự. F1-score là điểm hợp điều hòa giữa precisionrecall. Confusion matrix cung cấp thông tin chi tiết về các lỗi phân loại giữa các giống chó khác nhau.

4.2. Xây Dựng Ứng Dụng Demo Phân Loại Giống Chó

Ứng dụng demo được phát triển sử dụng Python với các thư viện KerasTensorFlow để tải mô hình đã huấn luyện. OpenCV được sử dụng để xử lý hình ảnh đầu vào. Giao diện người dùng cho phép chọn file ảnh từ máy tính hoặc camera web. Sau khi tải ảnh, ứng dụng sẽ thực hiện tiền xử lý và đưa vào mô hình để dự đoán giống chó. Kết quả hiển thị tên giống chóđộ tin cậy (confidence) của dự đoán.

18/12/2025

Trích đoạn nội dung tài liệu

chương 1, nhóm chúng em sẽ nêw ra lý do và mục đích của đề tài, từ đó đưa ra giới thiệu và phát biểu về bài toán như đầu vào, đầu ra, giới hạn, phạm vi nghiên cứu của bài toán. Chương 2: Phương pháp ứng dụng Sau khi đưa ra được phát biểu và xác định được yêu cầu của bài toán, nhóm chúng em tiến hành trình bày phương pháp tiếp cận và các kỹ thuật giải quyết bài toán. Chương 3: Tiến hành thực nghiệm Ở chương này nhóm chúng em trình bày về quá trình thực nghiệm và các kết quả đạt được với phương pháp và kỹ thuật giải quyết bài toán được đưa ra ở chương 2. 2 Chương 4: Xây dựng chương trình demo Nhóm chúng em xây dựng chương trình demo sau quá trỉnh đào tạo trên để dự đoán tên của giống chó qua hình ảnh được đưa vào.

Kết luận: Cuối cùng là kết luận, tổng hợp các kết quả đạt được, các hướng phát triển và mở rộng trong tương lai. Chúng em hy vọng rằng báo cáo này sẽ đem lại cái nhìn thú vị và chi tiết về quá trình nghiên cứu và phát triển của chúng em trong việc giải quyết bài toán phân loại giống chó. Chúng em cũng mong muốn rằng đề tài này có thể đóng góp một phần nhỏ vào sự phát triển của lĩnh vực thị giác máy tính và ứng dụng của nó trong cuộc sống hàng ngày. PHÁT BIỂU BÀI TOÁN 1.

Tổng quan về học máy và bài toán nhận dạng 1. Tổng quan về học máy Học máy là một lĩnh vực của trí tuệ nhân tạo liên quan đến việc cung cấp cho máy tính khả năng tự động học hỏi và cải thiện mà không cần được lập trình rõ ràng cho từng tác vụ. Học máy thường được chia thành hai loại chính là học máy có giám sát và học máy không giám sát: - Trong học máy có giám sát, máy tính được cung cấp dữ liệu huấn luyện với các nhãn tương ứng. Máy tính sẽ học cách dự đoán nhãn cho các dữ liệu mới dựa trên dữ liệu huấn luyện.

Ví dụ, học máy có giám sát được sử dụng để đào tạo các mô hình nhận dạng chữ viết tay, phân loại hình ảnh, và chẩn đoán y khoa. - Trong học máy không giám sát, máy tính không được cung cấp dữ liệu huấn luyện với các nhãn tương ứng. Máy tính sẽ học cách phân nhóm hoặc phát hiện các mẫu trong dữ liệu. Học máy không giám sát được sử dụng để phân nhóm khách hàng, phát hiện gian lận, và phân tích thị trường.

Học máy có nhiều ứng dụng trong thực tế, bao gồm: - Phân loại: Phân loại là quá trình gán nhãn cho các dữ liệu. Học máy được sử dụng để phân loại các sản phẩm, khách hàng, email, v. - Kết nối: Kết nối là quá trình phân nhóm các dữ liệu. Học máy được sử dụng để kết nối các khách hàng, sản phẩm, v.

- Dự đoán: Dự đoán là quá trình dự đoán giá trị của một biến trong tương lai. Học máy được sử dụng để dự đoán giá cổ phiếu, thời tiết, v. - Tìm kiếm: Tìm kiếm là quá trình tìm kiếm thông tin trong một tập dữ liệu lớn. Học máy được sử dụng để cải thiện hiệu quả của các hệ thống tìm kiếm.

Có thể thấy được học máy là một lĩnh vực đang phát triển nhanh chóng. Với sự phát triển của công nghệ, học máy sẽ được ứng dụng ngày càng rộng rãi trong nhiều lĩnh vực của đời sống. Bài toán nhận dạng trong học máy Bài toán nhận dạng trong học máy là một lĩnh vực quan trọng và đầy tiềm năng, nó nằm trong lĩnh vực thị giác máy tính và xử lý ngôn ngữ tự nhiên. Nó đặt ra thách thức đối với các hệ thống máy tính để có khả năng nhận diện và hiểu biểu hiện của dữ liệu đầu vào một cách chính xác và tự động.

Bài toán này đang ngày càng trở nên quan trọng với sự phát triển nhanh chóng của công nghệ và sự gia tăng về khối lượng dữ liệu được tạo ra mỗi ngày. Mục tiêu chính của bài toán nhận dạng thông thường sẽ là: - Xác định và phân loại đối tượng hoặc thông tin từ dữ liệu đầu vào. - Đối với ảnh, đối tượng phân loại có thể bao gồm việc nhận diện khuôn mặt, phân loại đối tượng, hoặc đánh giá tình trạng của một hình ảnh. - Với văn bản, bài toán nhận dạng có thể liên quan đến việc hiểu và phân loại các đoạn văn bản, từ việc nhận diện từ ngữ đến dự đoán ý nghĩa của câu văn.

Các phương pháp nhận dạng trong học máy đa dạng, bao gồm cả các mô hình học sâu như Convolutional Neural Networks (CNN) cho xử lý ảnh và Recurrent Neural Networks (RNN) cho xử lý ngôn ngữ tự nhiên. Ngoài ra, Transfer Learning cũng là một chiến lược quan trọng trong bài toán này, cho phép mô hình được huấn luyện trước đó trên một tập dữ liệu lớn, sau đó được chuyển giao để giải quyết các vấn đề cụ thể khác nhau. Tuy nhiên, bài toán nhận dạng không phải lúc nào cũng dễ dàng. Nó đối mặt với những thách thức hạn chế như biến đổi ánh sáng, che mờ, hay độ nhiễu trong dữ liệu.

Điều này đòi hỏi sự phức tạp và linh hoạt từ các mô hình học máy để có thể đảm bảo khả năng chính xác và ổn định trong môi trường thực tế. Như vậy có thể thấy, bài toán nhận dạng trong học máy không chỉ là một lĩnh vực nghiên cứu sôi động đầy tiềm năng mà còn mang lại nhiều ứng dụng thực tế quan trọng, từ hệ thống an ninh đến các ứng dụng y tế và tự động hóa công nghiệp. Sự phát triển tiếp theo của nó có thể mở ra nhiều khả năng mới và tiềm năng đáng kể cho sự tiến bộ của công nghệ trong tương lai. Bài toán nhận dạng giống chó qua hình ảnh 1.

Lý do lựa chọn đề tài Trong lĩnh vực chăn nuôi, động vật nói chung và giống chó nói riêng là một thành phần chiếm tỉ trọng không nhỏ. Ngày nay, chó không chỉ là một loại 5 động vật mà người nuôi để giữ nhà mà còn là một người bạn, một sở thích biểu tượng của phong cách cá nhân và cái tôi. Tuy nhiên, có một vấn đề ảnh hưởng rất lớn đối với sự tin tưởng của người nuôi chính là tính xác thực của giống chó và khả năng xác định nguồn gốc. Thực tế là, việc xác định liệu một con chó có phải là thật hay là giả đòi hỏi một sự hiểu biết sâu sắc về kiến thức và khả năng phân biệt tinh tế, điều này thường không dễ dàng cho người nuôi.

Tuy nhiên, chúng ta không còn phải dựa vào con người duy nhất để giải quyết vấn đề này. Nhờ sự phát triển mạnh mẽ của công nghệ học máy và thị giác máy tính, chúng ta có thể áp dụng các công nghệ này để giải quyết vấn đề, tối ưu hóa trải nghiệm nhận dạng và đảm bảo chất lượng giống chó. Hiện tại, việc nhận dạng nguồn gốc của giống chó thông qua hình ảnh vẫn là một thách thức. Các phương pháp truyền thống chưa đáp ứng được độ chính xác và hiệu suất cần thiết.

Đề tài này nhấn mạnh sự cần thiết của việc phát triển một hệ thống nhận dạng đáng tin cậy và cố gắng xây dựng một hệ thống có độ chính xác cao hơn. Giới hạn và phạm vi nghiên cứu Đồ án nghiên cứu này, dù có tiềm năng lớn, nhưng cũng có một số giới hạn về phạm vi và các khía cạnh không được xử lý trong đề tài. Chúng em muốn thể hiện sự minh bạch và xác định rõ ràng về những hạn chế này. Về phạm vi nghiên cứu, đồ án này tập trung vào việc nhận dạng nguồn gốc của các loại giống chó thông qua hình ảnh.

Do hạn chế về mặt dữ liệu nên chúng em sẽ chỉ tập chung vào vào một số giống chó phổ biến. Chúng em sẽ không xử lý các giống chó hiếm gặp, giống chó lai. Về các khía cạnh không xử lý trong đề tài, chúng em sẽ không tập chung xử lý các mục sau: - Thời gian: Dự án sẽ không xem xét sự thay đổi về thời gian của giống chó, dù những con chó sẽ có sự thay đổi lớn về kích thước, kiểu lông theo thời gian. Chúng em sẽ cố gắng chọn dữ liệu sao cho không bị ảnh hưởng quá nhiều và sẽ xác định nguồn gốc tĩnh của giống chó dựa trên hình ảnh đã cho.

- Tình trạng: Chúng em giới thiệu hệ thống nhận dạng nguồn gốc của giống chó dựa trên hình ảnh, nhưng không xác định tình trạng cụ thể của những con chó, chẳng hạn như chó lai hoặc chó ta. - Địa điểm: Dự án tập trung vào việc nhận dạng nguồn gốc qua hình ảnh, không liên quan đến địa điểm cụ thể của việc mua bán. 6 Những giới hạn và phạm vi đã nêu trên giúp tập trung vào mục tiêu chính của dự án, đồng thời đảm bảo tính khả thi và hiệu quả của nghiên cứu. Đầu vào và đầu ra bài toán - Input: Để giải quyết bài toán này, chúng em sử dụng một tập dữ liệu chứa các hình ảnh của các loại giống chó khác nhau.

Mỗi hình ảnh được cung cấp dưới dạng dữ liệu pixel với độ phân giải cụ thể. Các mô hình được thiết kế để nhận diện các đặc trưng quan trọng của chó thông qua việc sử dụng mạng nơ-ron tích chập (CNN). - Output: Đầu ra của bài toán là nguồn gốc cụ thể của các giống chó, được biểu diễn dưới dạng thông tin văn bản. Mô hình CNN sẽ học các đặc trưng quan trọng từ hình ảnh để đưa ra dự đoán về nguồn gốc giống chó.

Sau khi đã có dự đoán về giống chó, chúng em sẽ đưa hiển thị ảnh lên màn hình cùng với dự đoán có tính chính xác cao nhất mà hệ thống dự đoán. Ràng buộc của bài toán Bài toán nhận dạng giống chó đặt ra rất nhiều thách thức, chúng được thể hiện qua các ràng buộc chính của bài toán: - Ràng buộc dữ liệu: Một trong những ràng buộc quan trọng đối với việc nhận diện nguồn gốc của giống chó là sự có sẵn và chất lượng của tập dữ liệu hình ảnh. Việc sử dụng một tập dữ liệu không đủ representative hoặc chứa nhiều hình ảnh không rõ ràng sẽ ảnh hưởng đáng kể đến hiệu suất của mô hình. - Ràng buộc thời gian: Xử lý hình ảnh có thể đòi hỏi nhiều thời gian tính toán, đặc biệt khi sử dụng các mô hình phức tạp như mạng nơ- ron tích chập (CNN).

Điều này có thể tạo ra ràng buộc về thời gian, đặc biệt khi cần xử lý số lượng lớn hình ảnh.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ