[Chia sẻ kỹ thuật] Dùng Google Vision API phân biệt mực ống, mực lá, mực nang và mực squid chỉ trong một giây, không còn bị hớ khi đi chợ
Lần này mình muốn dùng Google Vision API xây dựng một mô hình nhận diện hình ảnh để phân biệt mực ống, mực lá, mực nang và mực squid, rất hợp với các mẹ không rành Machine Learning nhưng vẫn phải đi chợ. Vision API là dịch vụ của Google giúp những người không tự xây dựng được mô hình Machine Learning cũng có thể dễ dàng tạo một bộ phân loại hình ảnh.

Lần này mình muốn dùng Google Vision API xây dựng một mô hình nhận diện hình ảnh để phân biệt mực ống (neritic squid), mực lá, mực nang và mực squid, rất hợp với các mẹ không rành Machine Learning nhưng vẫn phải đi chợ. (Mình biết giao của hai nhóm này nhiều khả năng là null.)
Không dài dòng nữa, Vision API là dịch vụ của Google giúp những người không tự xây dựng được mô hình Machine Learning cũng có thể dễ dàng tạo một bộ phân loại hình ảnh.
Nếu muốn tìm hiểu về Machine Learning, bạn có thể đọc bài này.
Bài thực hành lần này gồm khoảng các bước sau:
- Đăng ký dự án GCP và bật GCP AutoML
- Thu thập hình ảnh của các loài thân mềm mười tua này
- Tạo một storage bucket trên GCP và tải ảnh lên
- Mở trang AutoML, động vài ngón tay là có mô hình
Đơn giản quá phải không?
Trước khi bắt đầu, mình khuyên mọi người nên tìm hiểu sự khác nhau giữa mực ống, mực lá, mực nang, mực squid và bạch tuộc. Hãy xem video này.
Được rồi! Bước một: đăng ký GCP. Phần này mọi người cứ xem video này và làm theo từng bước.
Đăng ký GCP xong, hãy vào trang AutoML để kiểm tra API đã được bật (Enable) chưa.
Xong rồi thì lên Google tải một ít ảnh mực ống, mực lá… và lưu riêng vào các thư mục đã tạo sẵn. Cấu trúc thư mục như sau:
- cuttlefish là mực nang
- neritic là mực ống (gồm cả mực ống nhỏ)
- softneritic là mực lá
- squid là mực squid (loại thường dùng làm mực khô)
- octopus là bạch tuộc
Khi tải ảnh, mình gặp một vấn đề: quá nhiều ảnh là món đã nấu chín, điều này sẽ ảnh hưởng đến hiệu quả học của mô hình. Vì vậy mình đã chọn lọc một số ảnh, ai muốn làm theo thì tải về ở đây nhé!
Sau khi giải nén, bạn sẽ thấy năm thư mục đã có sẵn ảnh, cùng với một file index.csv và test.py.
Nội dung index.csv như sau:
Đây là file lát nữa chúng ta sẽ đưa cho AutoML.
Còn test.py là file Python mình viết để sắp xếp ảnh đã tải và tạo ra index.csv.
Nếu bạn đã tải file nén của mình, chúc mừng, bạn đã xong một nửa rồi!
Bước ba, chúng ta tạo một bucket trong GCP Storage, tên bắt buộc phải là
<your-project-id>-vcm

Ví dụ, bucket mình tạo có tên first-850611-vcm.
Tạo xong, trong first-850611-vcm hãy tạo thêm một thư mục tên seafood, rồi tải cuttlefish, neritic, softneritic, squid, octopus và index.csv lên thư mục seafood.
Đến đây là xong bước ba!
Bước cuối, mở trang AutoML, chọn tên dự án của bạn ở góc trên bên phải và nhấn Get started with AutoML.

Tiếp theo nhấn NEW DATASET ở phía trên để thêm dữ liệu cần học.

Nhập Dataset name, đặt tên gì cũng được, miễn bạn nhận ra là được.
Sau đó chọn Select a CSV và nhập
gs://<your-project-id>-vcm/seafood/index.csv
Ví dụ như mình sẽ nhập
gs://first-850611-vcm/seafood/index.csv
Rồi nhấn CREATE DATASET và chờ dữ liệu huấn luyện tải lên.

Tải lên xong, màn hình sẽ hiển thị ảnh và nhãn chúng ta sẽ huấn luyện!
Tiếp theo nhấn TRAIN ở phía trên để bắt đầu học.

Hệ thống sẽ cảnh báo kiểu như: ảnh của chúng ta ít quá đấy~
Là kỹ sư, thắng thì xông lên, thua thì rút, nhưng chuyện này thì chẳng có gì phải sợ, cứ huấn luyện thôi. Cùng dũng cảm nhấn START TRAINING nào.

Ở Training budget chọn gói free, rồi nhấn START.


Sau một hồi chờ đợi dài, khi model đã huấn luyện xong, nhấn PREDICT ở phía trên để kiểm tra kết quả học của model.
Chúng ta sẽ lần lượt tải lên một ảnh mực ống và một ảnh mực squid để model nhận diện.


Kết quả dự đoán của model như hình dưới đây


Có thể thấy, Google thật sự quá đỉnh!!!!!!!!!!!
Vậy còn cần kỹ sư Machine Learning làm gì nữa? Kỹ sư Machine Learning nghỉ việc đi bán cá hết thôi QQ
Thôi được! Phải công nhận Vision AutoML rất mạnh, chỉ với lượng ảnh ít ỏi như vậy mà vẫn học chính xác đến thế.
Thứ thú vị thế này không thể dừng ở đây. Phần sau chúng ta sẽ tìm cách kết nối API của model này để các mẹ bỉm sữa thật sự dùng được, không còn sợ bị mẹ chồng mắng vì mua nhầm mực squid thay cho mực ống, trở thành vũ khí tối thượng giải quyết mâu thuẫn mẹ chồng nàng dâu!!
Quảng cáo một chút:
Nếu doanh nghiệp của bạn cần bất kỳ tính năng nào tích hợp Machine Learning trên chatbot LINE, như nhận diện hình ảnh, nhận diện giọng nói hay thậm chí nhận diện video, hãy gửi email đến địa chỉ dưới đây để được tư vấn.



















