Cách tạo một Model AI nhận dạng hình ảnh siêu đơn giản


Chào các bạn, trong những năm trở lại đây thì chúng ta đã nghe nhiều về cụm từ “AI” – trí tuệ nhân tạo và các ứng dụng của nó trong cuộc sống.

Và một trong những ứng dụng rất thiết thực đó chính là nhận dạng, phân biệt vật thể. Nhưng việc tiếp cận với các công nghệ AI nói chung và công nghệ nhận dạng, phân biệt vật thể nói riêng là không hề dễ dàng.

Hầu hết, để có thể chuyên sâu vào lĩnh vực này thì đòi hỏi các bạn phải có kiến thức chuyên môn vững chắc.

Nhưng cũng rất may mắn là hiện nay có rất nhiều service (dịch vụ) cho phép người dùng tạo ra các model AI một cách không quá phức tạp (chỉ cần bạn có dữ liệu là được).

Và tất nhiên rồi, trong bài viết này mình sẽ cùng với các bạn tạo ra một model AI đơn giản, hỗ trợ nhận dạng, phân biệt hình vật thể (cụ thể ở đây là ảnh chó mèo nhé các bạn).

I. Làm thế nào để tạo được model AI?

Đọc thêm:

#1. Chuẩn bị dữ liệu

Dữ liệu có thể nói là phần quan trọng bậc nhất trong các bài toán về nhận dạng, phân biệt vật thể nói riêng và các bài toán về AI nói chung.

Trong bài viết này mình sẽ xây dựng một model AI hỗ trợ nhận dạng và phân biệt chó, mèo. Dưới đây là 10 tấm ảnh dữ liệu về loài chó Pitpull mình đã chuẩn bị.


tao-mot-model-ai-nhan-dang-hinh-anh (1)

Tiếp theo là tập 10 ảnh về các loài mèo khác nhau.

tao-mot-model-ai-nhan-dang-hinh-anh (2)

#2. Training dữ liệu

+ Bước 1: Các bạn truy cập vào trang: https://teachablemachine.withgoogle.com/  như hình bên dưới.

tao-mot-model-ai-nhan-dang-hinh-anh (3)

Thực ra đây là một dịch vụ miễn phí của Google – nơi các bạn có thể traning và tạo ra các model AI đơn giản, nhanh chóng mà không cần phải code gì cả.

Ở đây các bạn có thể tạo 3 loại dự án nhận dạng, phân biệt khác nhau:

  1. Nhận dạng, phân biệt vật thể qua ảnh (ảnh và video).
  2. Nhận dạng, phân biệt thông qua âm thanh (audio).
  3. Nhận dạng chuyển động, hình dạng.

+ Bước 2: Trong bài viết này mình sẽ tạo Model AI nhận diện, phân biệt chó, mèo thông qua hình ảnh nên mình sẽ lựa chọn tính năng đầu tiên (Image Project)

tao-mot-model-ai-nhan-dang-hinh-anh (4)

+ Bước 3: Tiếp theo, có cũng có hai options thì ở đây mình chọn Standard Image Model

tao-mot-model-ai-nhan-dang-hinh-anh (5)

+ Bước 4: Bước tiếp theo chúng ta sẽ tải dữ liệu đã chuẩn bị ở bước trước lên.

Các bạn lưu ý là phải tạo trước hai class (đối tượng) tương ứng với hai tập dữ liệu. Ví dụ như bài viết này của mình đó là hai lớp ChóMèo như hình bên dưới.

tao-mot-model-ai-nhan-dang-hinh-anh (6)

Tải lên dữ liệu cho đối tượng Chó.

tao-mot-model-ai-nhan-dang-hinh-anh (7)

Tải lên dữ liệu cho đối tượng Mèo.

Lưu ý: Các bạn có thể thêm đối tượng bằng cách bấm vào nút: Add a class

tao-mot-model-ai-nhan-dang-hinh-anh (8)

+ Bước 5: Sau khi tải lên toàn bộ dữ liệu thì các bạn chỉ cần bấm Train Model để bắt đầu quá trình training dữ liệu.

Lưu ý là các bạn không được tắt tab này trong quá trình dữ liệu đang training, nếu không quá training sẽ kết thúc.

Bản chất việc training này vẫn diễn ra trên CPU của máy tính của các bạn, chỉ có thuật toán là sử dụng của Google thôi nha các bạn.

tao-mot-model-ai-nhan-dang-hinh-anh (9)

+ Bước 6: Quá trình Training này diễn ra nhanh hay chậm sẽ tùy thuộc vào cấu hình máy tính của các bạn, cũng như là tập dữ liệu của bạn có nhiều hay không.

Thường thì nó sẽ tương đối nhanh thôi !

tao-mot-model-ai-nhan-dang-hinh-anh (10)

#3. Test Model sau khi Training

Sau khi training thành công thì chúng ta sẽ có được một model. Bạn có thể test (kiểm tra) model bằng hai cách đó là sử dụng trực tiếp camera hoặc tải ảnh lên để test.

tao-mot-model-ai-nhan-dang-hinh-anh (11)

Trong bài viết này mình sẽ sử dụng các tải ảnh (chọn option File) như sau:

tao-mot-model-ai-nhan-dang-hinh-anh (12)

Đây là một bức ảnh trong tập dữ liệu huấn luyện (Training) nên kết quả dự đoán chính xác 100% đó là mèo.

tao-mot-model-ai-nhan-dang-hinh-anh (13)

Bây giờ, mình lấy một bức ảnh không thuộc tập dữ liệu training thì kết quả giảm xuống với độ chính xác là 99% (vẫn là một tỷ lệ cao với tập dữ liệu quá ít của mình).

tao-mot-model-ai-nhan-dang-hinh-anh (14)

Với model “Chó” thì sao, kết quả sẽ là 100% nếu mình tải lên ảnh một chú chó Pitbull nhưng nếu bạn tải lên ảnh không phải là chó Pitbull thì tỷ lệ này chắc chắn sẽ giảm xuống.

tao-mot-model-ai-nhan-dang-hinh-anh (15)

#4. Export Model

Tất nhiên, trang web này tạo ra không phải để chúng ta nghịch ngợm cho vui mà chúng ta hoàn toàn có thể kết xuất model sau khi training rồi nhúng vào các hệ thông khác.

Do nội dung này khá dài nên mình sẽ cùng các bạn tìm hiểu trong một bài viết khác. Như hình bên dưới, nếu bạn nào có hiểu biết về web thì có thể export ra mã Javascript và nhúng vào trang web của các bạn rất đơn giản.

tao-mot-model-ai-nhan-dang-hinh-anh (16)

II. Lời kết

Okay, vậy là trong bài viết này mình đã cùng các bạn tạo ra một model AI siêu đơn giản, hoàn toàn không phải code một dòng lệnh nào rồi nhé.

Các công đoạn khó như thuật toán, xử lý dữ liệu thì service của Google đã cung cấp hết rồi

Nhưng nếu các bạn muốn sử dụng model này cho các hệ thống của mình của mình thì bắt buộc các bạn phải tìm cách tích hợp mới được.

Mình sẽ cùng các bạn tìm hiểu việc tích hợp đó trong các bài viết tiếp theo. Hẹn gặp lại các bạn nhé.!


CTV: Nguyễn Đức Cảnh – Blogchiasekienthuc.com

Note: Bài viết này hữu ích với bạn chứ? Đừng quên đánh giá bài viết, like và chia sẻ cho bạn bè và người thân của bạn nhé !

Administrator: Kiên Nguyễn Blog

Có một câu nói của người Nhật mà mình rất thích đó là " Người khác làm được thì mình cũng làm được ". Chính vì thế mà hãy theo đuổi đam mê, thành công sẽ theo đuổi bạn ! Nếu như bạn đang gặp khó khăn và cần sự trợ giúp thì hãy comment phía bên dưới mỗi bài viết để nhận được sự hỗ trợ từ cộng đồng Blog Chia Sẻ Kiến Thức nhé.

Có 1 bình luận

  1. Lê Phương mai

    Anh ơi , a làm bài tích hợp tiếp theo chưa ạ?


Một vài lưu ý trước khi comment :

Thư điện tử của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *
Tất cả các comment của các bạn sẽ được giải đáp trong vòng 48h (thường vào buổi tối)!
Không được sử dụng từ khóa trong ô 'Name', bạn hãy dùng tên thật hoặc Nickname của bạn !
Không dẫn link sang trang web/blog khác. Xem quy định comment tại đây. Thank All!

Leave a Reply

Your email address will not be published. Required fields are marked *