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.
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
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
Tài liệu API và ví dụ mẫu
Keywords Extraction API (https://cloud.google.com/vision/docs/detecting-labels)
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:
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)
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:
Demo: http://huynhphuchuy.com/pixlrx/face.php
Landmark Detection API (https://cloud.google.com/vision/docs/detecting-landmarks)
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:
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
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
Keywords Extraction API (https://cloud.google.com/vision/docs/detecting-labels)
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)
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)
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