icon-mess
Chat Zalo
(24/7)
zalo

Xây dựng mô hình AI phân loại hình ảnh bằng python

Nhận dạng và phân loại hình ảnh là một trong những vấn đề cơ bản về thị giác máy tính mà mọi kỹ sư AI phải nắm vững. Vậy làm thế nào để bạn bắt đầu Xây dựng mô hình ai phân loại hình ảnh bằng python? Dưới đây là hướng dẫn chi tiết bằng của Công Ty Quảng Cáo Marketing Online Limoseo. 

Xây dựng mô hình AI phân loại hình ảnh bằng python

1. Bước 1: Nhập thư viện

Để Xây dựng mô hình ai phân loại hình ảnh bằng python, bước đầu tiên là phải nhập thư viện. Khi lập trình, việc viết mã thủ công cho từng thao tác nhỏ thật tẻ nhạt. Bạn có thể phải sử dụng mã có sẵn. 

Những đoạn mã được đóng gói này được gọi là thư viện và có thể được thêm vào chương trình của bạn bằng cách nhập chúng. Các lập trình viên thường nhập tất cả các thư viện khi bắt đầu chương trình.

Bước 1: Nhập thư viện

2. Bước 2: Xác định biến đổi

Bước thứ hai của Phân loại hình ảnh bằng python là xác định sự biến đổi. Để cung cấp dữ liệu hình ảnh đào tạo cho mô hình AI của bạn, bạn cần chỉ định những sửa đổi bạn muốn thực hiện đối với những hình ảnh đó.

Các phép biến đổi này được thực hiện bằng thư viện Torchvision.transforms.

Như vậy là bạn đã hoàn thành bước thứ hai của Xây dựng mô hình ai phân loại hình ảnh bằng python.

3. Bước 3: Nhập dữ liệu và chèn vào DataLoader

Cuối cùng, bạn có thể sử dụng thư viện Torchvision.datasets để nhập hình ảnh vào chương trình của mình. Ở đây chúng ta cần chỉ định hai bộ dữ liệu khác nhau. Một để huấn luyện mô hình (tập huấn luyện) và một để kiểm tra mô hình (tập hợp lệ).

Lệnh datasets.ImageFolder() sắp xếp dữ liệu như root/label/picture.png . Nói cách khác, hình ảnh nên được sắp xếp trong các thư mục.

Các lệnh sử dụng ở đây là:

  • Đường dẫn đến tất cả các thư mục
  • Biến đổi được chỉ định trong bước trước.

Bây giờ chúng ta cần chèn hình ảnh đã nhập vào trình tải dữ liệu. Trình tải dữ liệu có thể lấy các mẫu ngẫu nhiên để mô hình không phải xử lý toàn bộ tập dữ liệu cùng một lúc. Điều này làm cho đào tạo hiệu quả hơn.

Bạn có thể chỉ định số lượng hình ảnh để xử lý cùng một lúc dưới dạng batch_size. Bạn cũng có thể sử dụng tham số shuffle=True để xáo trộn các hình ảnh để mô hình được huấn luyện một cách ngẫu nhiên.

Bước 3: Nhập dữ liệu và chèn vào DataLoader

4. Bước 4: Xây dựng mô hình

Mô hình nhận dạng hình ảnh bao gồm hai phần:

  • Phần gấp chữ u
  • Phần phân loại

Nó giữ các kết cấu được đào tạo trước nhưng chèn bộ phân loại của riêng nó.

Bây giờ bạn cần thay thế bộ phân loại mặc định của mô hình bằng bộ phân loại tùy chỉnh của bạn. Vì bộ phân loại là một mạng nơ-ron được kết nối đầy đủ, nên trước tiên chúng ta cần xây dựng mạng nơ-ron. Mạng lưới thần kinh chỉ là một cách để tìm các mẫu và kết nối phức tạp giữa các số đầu vào và đầu ra. Trong trường hợp này, chúng tôi sử dụng các tính năng hình ảnh được đánh dấu trong tích chập để xác định xác suất hình ảnh là một nhãn cụ thể.

  • Điều đầu tiên quyết định là số lượng các số đi vào mạng lưới thần kinh. Nó phải trùng với dãy số đã cho ở phần trước (tích chập). Vì chúng ta hoàn toàn không thay đổi tích chập, nên số lượng số được nhập vào bộ phân loại phải khớp với bộ phân loại mặc định của mô hình. 
  • Tiếp theo, xác định số lượng đầu ra. Con số này phải phù hợp với số loại hình ảnh chúng ta có. Mô hình cung cấp danh sách phần trăm tương ứng với độ an toàn của hình ảnh cho nhãn đó.
  • Sau khi có các thông tin chi tiết này, hãy tạo bộ phân loại bằng thư viện Torch.nn.
    • nn.Sequential rất hữu ích để kết hợp nhiều mô-đun. 
    • nn.Linear thể hiện sự tương tác giữa hai lớp.
    • nn.ReLU là chức năng kích hoạt lớp ẩn. Các hàm kích hoạt giúp các mô hình tìm hiểu các mối quan hệ phức tạp giữa đầu vào và đầu ra. Sử dụng ReLU ở tất cả các cấp ngoại trừ đầu ra. Lặp lại cho bất kỳ số lớp ẩn nào với bất kỳ số lượng nút nào trong mỗi lớp.
    • nn.LogSoftmax là chức năng kích hoạt đầu ra. Hàm softmax chuyển đổi chi tiêu thành tỷ lệ phần trăm cho mỗi nhãn và hàm nhật ký được áp dụng để tăng tốc độ tính toán. Hãy thay thế bộ phân loại mặc định của mô hình bằng cách tạo bộ phân loại của riêng chúng ta.

5. Bước 5: Huấn luyện và Đánh giá Mô hình

Để đào tạo mô hình, chúng ta cần chấp nhận lỗi và xem cách chúng ta có thể điều chỉnh các số có trọng số để có lỗi tối thiểu. Sử dụng thư viện Torch.optim để áp dụng phương pháp này và gán tham số cho nó.

Bây giờ chúng ta hãy bắt đầu đào tạo. 

  • Đầu tiên, đặt mô hình ở chế độ đào tạo và sử dụng vòng lặp for để lặp qua từng khung hình.
  • Sau đó, bạn có thể tính toán đầu ra của mô hình dựa trên hình ảnh đầu vào và tính toán sai số giữa dự đoán của mô hình và nhãn dữ liệu.
  • Sau đó, gọi loss.backward() để áp dụng bất kỳ điều chỉnh nào cần thiết để giảm lỗi này và trình tối ưu hóa.step() để sử dụng trình tối ưu hóa để điều chỉnh trọng số. Trong quá trình đào tạo, nó theo dõi tổng số lỗi được tính toán và đưa ra tiến trình đào tạo.

Tiến hành xem xét: 

  • Đặt mô hình ở chế độ đánh giá và sử dụng vòng lặp for để lặp qua tất cả các hình ảnh trong tập dữ liệu.
  • Lặp lại quy trình tập huấn luyện để nhận đầu ra của mô hình và mức độ sai lệch của mô hình so với nhãn thực tế.
Bước 5: Huấn luyện và Đánh giá Mô hình

6. Bước 6: Đưa mô hình của bạn vào hoạt động

  • Đầu tiên, hãy thiết lập mô hình cho chế độ đánh giá.
  • Tiếp theo, tạo một chức năng xử lý hình ảnh để bạn có thể nhập nó vào mô hình của mình. Mở hình ảnh và thay đổi kích thước trong khi vẫn giữ nguyên tỷ lệ khung hình, nhưng chỉ cạnh ngắn nhất sẽ là 255px và phần giữa sẽ được cắt bớt thành 224px x 224px. Sau đó, chuyển đổi hình ảnh thành một mảng và sắp xếp mảng để đảm bảo rằng số lượng kênh màu là thứ nguyên đầu tiên chứ không phải thứ nguyên cuối cùng. Sau đó chuyển đổi từng giá trị từ 0 thành 1 bằng cách chia cho 255. Sau đó chuẩn hóa các giá trị bằng cách trừ đi giá trị trung bình và chia cho độ lệch chuẩn. Cuối cùng, chuyển đổi mảng thành một tensor torch và chuyển đổi các giá trị thành float. 
  • Cuối cùng, để hiển thị hình ảnh, hãy chuẩn hóa lại hình ảnh thành một mảng bằng cách nhân nó với độ lệch chuẩn và thêm giá trị trung bình. Sau đó vẽ đồ thị hình ảnh bằng thư viện matplotlib.pyplot.

7. Câu hỏi thường gặp

Xây dựng mô hình AI phân loại hình ảnh bằng Python là gì?

Xây dựng mô hình AI phân loại hình ảnh bằng Python là quá trình sử dụng các thuật toán và kỹ thuật học máy để huấn luyện một mô hình tự động nhận dạng và phân loại các hình ảnh.

Các bước cơ bản để xây dựng mô hình AI phân loại hình ảnh bằng Python là gì?

Những bước cơ bản xây dựng mô hình AI bằng hình ảnh Python bao gồm chuẩn bị dữ liệu. Xây dựng mô hình. Huấn luyện mô hình. Đánh giá mô hình.

Có những phương pháp và thuật toán nào được sử dụng trong xây dựng mô hình AI phân loại hình ảnh bằng Python?

Những phương pháp và thuật toán được sử dụng trong xây dựng mô hình AI bằng Python là Convolutional Neural Networks (CNN): Đây là một kiến trúc mạng nơ-ron sử dụng các lớp tích chập để trích xuất đặc trưng từ hình ảnh. Transfer Learning: Phương pháp này sử dụng các mô hình đã được huấn luyện trước trên một tập dữ liệu lớn như VGG16, ResNet hoặc Inception.

Như vậy, Công Ty Quảng Cáo Marketing Online Limoseo đã giới thiệu tới bạn cách Xây dựng mô hình ai phân loại hình ảnh bằng python. Nếu bạn thấy hữu ích, hãy like, share bài cũng như để lại comment nếu còn thắc mắc nhé.

Limoseo - Công ty Dịch vụ SEO & Thiết kế Website
Limoseo – Công ty Dịch vụ SEO & Thiết kế Website
Đánh giá