Google Cloud APIであそぼう

# はじめに
みなさんこんにちは！
MYJLab Advent Calendar 2024の19日目を担当する宮治研3年の@1m62cです。
（下書き保存して投稿し忘れておりました...申し訳ございません）

というわけで今回は、使い方無限大のGoogle Cloud APIについて紹介したいと思います。

# Google Cloudとは
API紹介をする前に、まずはGoogle Cloudについて説明します。
Google Cloudとは、その名の通りGoogleが提供するクラウドサービスです。

Googleが実際に自社で使用しているインフラを、私たち利用者にも提供してくれているんです。

:::note info
クラウドサービスとは？
アプリやデータベースなどのITリソースを、インターネット上で利用できるサービスのこと
➡**ハードウェアの導入費用や工数を削減できる**
:::

しかも！私たちは普段からGoogleのサービスを使いまくっているので、Googleにはたくさんのデータが溜まっていっています。
そのおかげで、Google CloudにはAIを活用したデータ分析ツールなどが豊富に用意されています。

# Google Cloud APIとは
ここから本題のGoogle Cloud APIについての説明です。

Google Cloud APIとは、こちらもその名の通り、Google Cloudが提供するWebAPIの総称です。
かなり多くの種類があるので、ここでは2つピックアップして紹介しようと思います。

## Vision API：画像認識
物体検出や顔の検出、テキストの検出ができます。
以下の公式サイトでデモを体験できるので試してみます。
https://cloud.google.com/vision?hl=ja#demo

持っている画像をアップロードすると、その特徴を分析してくれるようなので、私の推しの写真を乗っけてみました。

![{1D3F9D4F-49F6-47CB-AD9E-5E471BC2E5A2}.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3948687/cb70c201-44d9-e413-fa7b-85d42efc323e.png)

すると！Facesのタブでは、お顔の特徴量から表情の分析をしてくれました！
Objectsのタブも見てみましょう。

![{9149AFFA-898A-4058-A7EA-D7EA6EE8DD62}.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3948687/a187d9fa-0214-d463-884c-21daae994bd1.png)

こちらでは、映っているものが具体的に何なのかを予測して、スコアを％で算出してくれています。
Propertiesのタブはなんでしょうか？

![{AA59CE53-3F87-47EE-9C27-8AFC57A90974}.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3948687/cc0e4fce-cac7-b8e9-e190-11a31b31d982.png)

こちらでは、画像に含まれる色相をその割合とともに示してくれています。
デザインにも活用できそうなツールで面白いですね。

ちなみにJSONの中身はこんな感じで、コピペ可能になっています。

```
{
  "requests": [
    {
      "features": [
        {
          "maxResults": 50,
          "type": "LANDMARK_DETECTION"
        },
        {
          "maxResults": 50,
          "type": "FACE_DETECTION"
        },
        {
          "maxResults": 50,
          "model": "builtin/latest",
          "type": "OBJECT_LOCALIZATION"
        },
        {
          "maxResults": 50,
          "model": "builtin/latest",
          "type": "LOGO_DETECTION"
        },
        {
          "maxResults": 50,
          "type": "LABEL_DETECTION"
        },
        {
          "maxResults": 50,
          "model": "builtin/latest",
          "type": "DOCUMENT_TEXT_DETECTION"
        },
        {
          "maxResults": 50,
          "type": "SAFE_SEARCH_DETECTION"
        },
        {
          "maxResults": 50,
          "type": "IMAGE_PROPERTIES"
        },
        {
          "maxResults": 50,
          "type": "CROP_HINTS"
        }
      ],
      "image": {
        "content": "(data from 10-4.jpg)"
      },
      "imageContext": {
        "cropHintsParams": {
          "aspectRatios": [
            0.8,
            1,
            1.2
          ]
        }
      }
    }
  ]
}
```
※Responseは長すぎたので割愛します。

## Speech-to-Text API：音声認識
音声をテキストに変換することができます。
（ちなみに、その逆ができるText-to-Speech APIもあります）

こちらも以下の公式サイトでデモを体験できるので試してみます。
https://cloud.google.com/speech-to-text?hl=ja#demo

言語を選択した後、音声の入力をします。
音声ファイルをアップロードする方法と、その場で発話して音声を入れる方法がありますが、今回は直接PCに喋りかけてみました。

![{6875388B-F855-4F4A-92F0-7324648D44CB}.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3948687/a208510c-c6d3-87b1-09c7-b15102d32a27.png)

かなり精度が高いです！多少ぼそぼそ喋っても正確に認識されました。

せっかくなのでアメリカ英語でも試してみます。
（英語だけでも13種類ありました！）

![{48AC20BA-6F1F-41B2-8C1E-5978EB85442D}.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3948687/d09b5ec9-5512-5f44-5ca2-7ae47eb8f12d.png)

私の拙い発音でもテキスト化してくれました...優秀！
発音練習を支援するサービスなんかに使えそうですね。言語学習に興味があるので活用したくなりました！

# おわりに
いかがでしたか？
今回紹介した2つ以外にも、自動翻訳ができるCloud Translation APIや、機械学習に必要なAIモデルを自動作成するAutoMLなど、様々な分野のAPIが用意されています。

色々なAPIを触っていく中で「こんなもの作れるかも！」と開発物を決めるのも、わくわくして面白いですね～～
ぜひ皆さんも触ってみてくださいね。