Hướng dẫn - Xử lý và nhận diện hình ảnh với Google Cloud Vision | VN-Zoom | Cộng đồng Chia Sẻ Kiến Thức Công Nghệ và Phần Mềm Máy Tính

Adblocker detected! Please consider reading this notice.

We've detected that you are using AdBlock Plus or some other adblocking software which is preventing the page from fully loading.

We need money to operate the site, and almost all of it comes from our online advertising.

If possible, please support us by clicking on the advertisements.

Please add vn-z.vn to your ad blocking whitelist or disable your adblocking software.

×

Hướng dẫn Xử lý và nhận diện hình ảnh với Google Cloud Vision

Huỳnh Phúc Huy

Búa Đá Đôi
Tình hình là mình đang research về các giải pháp xử lý và nhận diện hình ảnh cho dự án sắp tới, chủ yếu là về khả năng detect các object và con người, trích xuất các keywords, nhận diện địa danh... Một số ứng cử viên có thể kể đến như Google Cloud Vision (trả phí), Azure Vision (trả phí) và một số thư viện open-source như OpenCV, TensorFlow.

f9zkRxl.png

Bài viết sau mình sẽ hướng dẫn các bạn cấu hình và tạo API key để sử dụng Google Vision và một số code mẫu về xử lý hình ảnh của thư viện này như: Keywords Extract, Face Detection, Landmark Detection.

Đăng ký tài khoản

Đầu tiên các bạn cần phải đăng ký tài khoản Google Cloud để được nhận 300$ miễn phí cho 12 tháng. Sau đó tiến hành add thêm project mới vào Google Cloud Console. Sau khi tạo thành công tài khoản và add Google Cloud Vision API cho project các bạn sẽ thấy số tiền và thời gian sử dụng tại trang billing


ZAJ9AMi.png

Tiếp theo chúng ta vào trang Credentials tiến hành tạo API key để bắt đầu sử dụng các API của Google Cloud Vision

vmaJjPu.png

Tài liệu API và ví dụ mẫu

Keywords Extraction API (https://cloud.google.com/vision/docs/detecting-labels)

faulkner.jpg

Trích xuất tất cả các nhãn, từ khóa trong một tấm hình, các đối tượng được trích xuất là sự vật, động vật, phương tiện giao thông...

Các bạn sử dụng CURL để post, tham khảo mã nguồn dưới đây:
PHP:
$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => "https://vision.googleapis.com/v1/images:annotate?key=API_KEY", // API key cua bạn
CURLOPT_SSL_VERIFYHOST => 0,
CURLOPT_SSL_VERIFYPEER => 0,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => '{"requests":[{"image":{"content":"'. $imdata .'"},"features":[{"type":"LABEL_DETECTION"}]}]}', // $imdata : base64 image
CURLOPT_HTTPHEADER => array(
"cache-control: no-cache",
"content-type: application/json"
),
));

Sau khi thêm thắt một chút Html & CSS thì ình có một demo ở đây: http://huynhphuchuy.com/pixlrx

Face Detection API (https://cloud.google.com/vision/docs/detecting-faces)

TgFasyw.png

Nhận diện khuôn mặt cùng các bộ phận và cảm xúc trên khuôn mặt.


Các bạn sử dụng CURL để post, tham khảo mã nguồn dưới đây:
PHP:
$curl = curl_init();
                        
curl_setopt_array($curl, array(
CURLOPT_URL => "https://vision.googleapis.com/v1/images:annotate?key=API_KEY", // API key cua bạn
CURLOPT_SSL_VERIFYHOST => 0,
CURLOPT_SSL_VERIFYPEER => 0,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",                        
CURLOPT_POSTFIELDS => '{"requests":[{"image":{"content":"'. $imdata .'"},"features":[{"type":"FACE_DETECTION"}]}]}',
CURLOPT_HTTPHEADER => array(
"cache-control: no-cache",
"content-type: application/json"
),
 ));

Demo: http://huynhphuchuy.com/pixlrx/face.php

Landmark Detection API (https://cloud.google.com/vision/docs/detecting-landmarks)

2BwfHUS.jpg

Nhận diện các địa danh, danh lam thắng cảnh, các công trình kiến trúc nổi tiếng.

Các bạn sử dụng CURL để post, tham khảo mã nguồn dưới đây:
PHP:
$curl = curl_init();
                        
curl_setopt_array($curl, array(
CURLOPT_URL => "https://vision.googleapis.com/v1/images:annotate?key=API_KEY", // API key cua bạn
CURLOPT_SSL_VERIFYHOST => 0,
CURLOPT_SSL_VERIFYPEER => 0,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",                       
CURLOPT_POSTFIELDS => '{"requests":[{"image":{"content":"'. $imdata .'"},"features":[{"type":"
LANDMARK_DETECTION"}]}]}',
CURLOPT_HTTPHEADER => array(
"cache-control: no-cache",
"content-type: application/json"
),
 ));

Còn một số các API khác nữa mà mình chưa có thời gian để tìm hiểu, các bạn có thể tự tìm hiểu thêm ở trang tài liệu API mà mình đã đề cập ở trên. Các bài viết tiếp theo mình sẽ hướng dẫn và cung cấp các ví dụ mẫu về các thư viện mã nguồn mở cho việc xử lý hình ảnh để giúp cho các bạn muốn một giải pháp mà không tốn chi phí nào {beauty}
 


Top