2020.12.14
STAFF BLOG
スタッフブログ
TECHNICAL
テクログ
お久しぶりです。
JGです。
夏頃に突然、画像認識システムを作りたいと思い、実際に作ってみました。
画像認識システムは難しい、機械学習なのでPythonで作成するイメージがありました。
しかし、調べたところGoogleのCloud Vision Apiを使えば、
様々な言語(PHP,Python,Ruby)等で、簡単に実現できることがわかりました。
こちらのApiの料金ですが、登録してから3カ月は無料で使えます。
下記のURLの手順を参考に、環境を構築し、サンプルコードを参考にすれば、okです。
https://cloud.google.com/vision/docs/quickstart-client-libraries?hl=ja#client-libraries-install-php
但し、APIの戻り値が英語なので、日本語にするためには
クライアント ライブラリをインストールする際に、下記を追加する必要があります。
composer require google/cloud-vision
composer require google/cloud-translate //これを追加
下記ソースの$file_nameに認識したい画像のファイル名を指定すれば動くはずです。
ちなみに調査から実装完了まで3時間程度でき、画像認識システムが簡単にでき驚きました。
興味がある方は、是非試してみてください。
<?php
require_once(dirname(__FILE__)."/vendor/autoload.php");
use GoogleCloudVisionV1ImageAnnotatorClient;
use GoogleCloudTranslateTranslateClient;
$image_annotator = new ImageAnnotatorClient();
?
$file_name = ""; //認識したい画像を指定
?
$image = file_get_contents($file_name);
?
$response = $image_annotator->labelDetection($image);
$labels = $response->getLabelAnnotations();
?
if ($labels) {
? echo("認識成功:" . PHP_EOL);
? $translate = new TranslateClient();
? foreach ($labels as $label) {
? $text =$label->getDescription();
?
? //英語を日本語に変換
? $result = $translate->translate($text, [
? "target" => "ja"
? ]);
? echo ($result["text"] . PHP_EOL);
? }
} else {
? echo("認識失敗" . PHP_EOL);
}