Nhận diện ảnh sử dụng Tensorflow .

Tram Ho

1. Sơ lược một chút về Tensorflow (TF):

Tensorflow (TF) là 1 library do Google phát triển và là một thư viện mã nguồn mở được dùng để tính toán số học sử dụng đồ thị luồng dữ liệu trong đó các node là các phép tính toán học còn các cạnh biểu thị luồng dữ liệu.
Các lợi ích mà thư viện này mang lại:

  • Tích hợp nhiều thư viện Machine Learning.
  • Có khả năng tương thích và mở rộng tốt.
  • Nhận biết phát âm và dịch tự động.
  • Phân loại email của Gmail.
  • Nhận biết khuôn mặt trong ảnh.

Đặc trưng của TensorFlow là xử lý được tất cả các loại dữ liệu có thể biểu diễn dưới dạng data flow graph hay low level như xử lý chữ viết tay.

2. Đem TF vào trong app Flutter:

2.1 Thêm data vào model của TF:

Bạn có thể vào trang https://teachablemachine.withgoogle.com/train để thêm data của mình vào.

Chọn tạo Image Project.

Để có thể lấy được data mình tải từ trang này về : https://www.kaggle.com/tongpython/cat-and-dog/data , sau đó upload vào model ở trên với từng loại mà bạn thiết lập và nhấp vào Train model để máy tiến hành học.

Sau đó tiến hành Export modelDownload về máy.

Giải nén ta được 2 file trên và tiến hành add vào assets của Flutter project .

2.2 Code UI Detech Animal:

Vào trong build.gradle của android thêm vào 2 dòng bên dưới.

Nó sẽ vô hiệu việc nén các file có tên là tflitelite.

Thêm vào 2 thư viện image_pickertflite vào thư mục pupspec.yaml

Tiến hành coding nào. Trong file main.dart viết function để đưa models mà ta đã train khi nãy vào Tflite.loadModel() để lưu model.

Tiếp theo ta thêm một function để lấy ảnh từ điện thoại.

Thêm phần hiển thị ảnh và Button lấy ảnh từ máy.

2.3 Demo thử nào:

Chọn ảnh con mèo thì sẽ thông báo là 0 Cat.

Chọn ảnh con chó thì sẽ thông báo là 1 Dog.

Kết luận:

Mình đã hướng dẫn các bạn làm một app Detect animal đơn giản bằng Tensorflow nhưng vẫn còn một số nhược điểm như:
Nếu lựa chọn 1 tấm ảnh không phải chó hoặc mèo thì có thể ra kết quả sai vì thiếu Data Training.

Hy vọng các bạn thích bài viết này.

Link source code.

https://github.com/nghiaptx-2124/detech_animal

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo