公開日:2020.12.14

画像認識システムを作ってみた

テクログphp

お久しぶりです。

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);
  }

この記事を書いた人

JG

入社年2020年

出身地神奈川県

業務内容プログラム

特技または趣味サッカー観戦

JGの記事一覧へ

テクログに関する記事一覧