顯示具有 cloud vision 標籤的文章。 顯示所有文章
顯示具有 cloud vision 標籤的文章。 顯示所有文章

2017年6月8日 星期四

Google Cloud Vision 學習筆記 2

安裝 Client library

這裡有介紹如何安裝你的語言版本的library

我用的是python,所以在command line 下:
pip install --upgrade google-cloud-vision

就會自動安裝了。

(2017/6/6) 等等,這個架構可以玩玩,但我是想要裝在RPi 上的,可是這個架構並沒有RPi 的 Google Cloud SDK. 只有for X86 linux, macOS 和 windows ⋯⋯ 
(2017/6/7) 找到一個 demo了,原來不一定要用Google Cloud SDK. 用API 就可以了。快來參考這篇

安裝後,你會發現下面的範例是需要安裝 Google Cloud SDK,依照你的系統(我是用Mac),下載合適的SDK,再執行它的 install 檔。 然後 執行 gcloud init 來設定你的帳號和預設專案(project),若需要,可以再開一個 Google compute Engine API。依其範例,應該是用Google Compute Engine 來執行,因為後來我看 API 管理員的主頁,只有 Google Compute Engine API 有流量,Google Cloud Vision API 完全沒流量。
而且,請記得將SDK 安裝在~ 下,我之前放在 virtualenv 或其它目錄,執行gcloud 都會出現問題,搞了我好久。

安裝好 SDK 後,回到 Cloud Vision API Client Libraries 的說明,要再執行認證:
gcloud auth application-default login
這樣就差不多了。
然後 copy 以下檔案到你電腦裡的目錄:

C#

GO

JAVA

NODE.JS

PHP

PYTHON

RUBY

import ioimport os # Imports the Google Cloud client library from google.cloud import vision # Instantiates a client vision_client = vision.Client() # The name of the image file to annotate file_name = os.path.join(     os.path.dirname(__file__),     'resources/wakeupcat.jpg') # Loads the image into memory with io.open(file_name, 'rb') as image_file:     content = image_file.read()     image = vision_client.image(         content=content) # Performs label detection on the image file labels = image.detect_labels() print('Labels:') for label in labels:     print(label.description)
Read more in the Python API Reference Documentation for the Google Cloud Vision API Client Library.

其中 __file__ 會帶出你目前的檔案路徑,所以你的圖檔要放在你目前路徑下的 resources 目錄裡,至於圖檔名,就隨便你取。

再 執行此python 檔,就可以看到輸出的Json 結果。
基本上就是Google Vision 會判斷你的圖檔內容大概是什麼,可能性的機率有多高等等的。




2017年6月5日 星期一

Google Cloud Vision 學習筆記 1

與其自己重新學習影像辨識和AI,不如直接站在巨人的肩膀上⋯⋯

先從 Google 提供的 5 分鐘 quickstart 來學。

以Quickstart 的介紹,要透過Vision API 來使用 Google cloud vision,要透過下列三步驟:


  • 建立 Cloud Storage 空間。Creating a Cloud Storage bucket.
  • 將你的照片上傳至建立的Cloud Storage 並設定為公開。Uploading your image to Cloud Storage and making it public.
  • 以照片來向Vision API 要求辨識。Making a request to the Vision API with that image.

照Google 的說法,上述步驟約要5分鐘的時間,可以建立一個 5GB 的免費儲存空間,並且每個月可丟 1000次以內的免費辨識服務要求。

在開始建立Google Storage 之前,要先在Google Platform Console 建立一個專案。
1. 到專案頁面,建立一個新的專案。我先建立一個叫 Cloud-Vision-test 的專案名稱,但Google 的回應有點慢,它跳到所有專案的頁面,卻沒看到剛建立的 Colud-Vision-test 專案名稱。我馬上再建一個新的,當它refresh 完頁面後,才發現重覆建立了。所以專案建立的按鈕按下後,要稍等一下。
2. 啟動計費功能。可能我之前已啟動,所以畫面直接跳到專案內容畫面。
3. 啟動Cloud Vision API. 中間欄有API 的選項,點選後會出現Google Cloud Platform 的所有 API,利用Filter 的方式,輸入 vision ,就可以看到Cloud Vision API。點選後會出現下列圖片。

然後點選啟用,就會出現目前此 API 的使用情形。但因為我們還沒有任何使用,所以畫面呈現出的都是空值。

接下來建立 Cloud Storage bucket。
1. 在 Cloud Platform Console 裡,連到 Cloud Storage 畫面。
2. 點選「建立bucket」。

3. 在建立 bucket 的對話畫面中,設定以下屬性:

  • 名稱:可以任意指定,但因為bucket 的資料是公開的,如果你的名稱內含機密資訊,那可能會被其他人看到。所以我用內建的名稱就好,內建的不會選一個和別人一樣的吧。
  • 儲存級別:文件是建議選用 Milti-Regional。但我看了級別的說明,Multi-Regional 是適合需要經常跨國存取的資料,又說可用來串流播放影片及代管熱門網路內容。但我只是要用自己上傳的影片,可是Regional 又只提到可用來儲存資料及執行資料分析,不知能否上傳圖片。我先試試Regional 了好。
  • Regional 位置:如果選用 Multi-Regional , 那 Regional位置只有 亞洲、歐盟和美國可以選,可能它會直接放在這幾個地區的不同storage site 吧。但如果是選 Regional, 則可以選 上述三洲的不同地區。亞洲有asia-east1, asia-northeast1 和 asia-sourtheast1 可選。台灣的位置有點尷尬,所以我直接選 asia-northeast1
4. 點選建立。

建立對 Cloud Vision API 服務的要求

1. 下載 他建議的 demo-image.jpg
2. 開啟 Cloud Platform Console Storage Brower, 選定 bucket, 然後點選上傳檔案,並選擇剛剛下載的 demo-image.jpg 來上傳。
3. 上傳檔案後,畫面會出現已上傳的通知,並且在畫面上呈現出已上傳的檔案列表。在我們剛上傳的 demo-image.jpg 後䤏有個「公開共用」的選項,將其點選。
4. 透過以下的程式範例,來執行 Vision API 請求。 將其中的 image.source.imageUri 的 bucket 字眼改成你剛才在bucket 內建立的名稱和圖片檔名,再按下EXECUTE後,不出一秒的時間,就會得到 AI 辨識後的 JSON 結果檔。
5. 執行結果如下:


搞定!!!

清除

為了避免無謂的被Google Cloud Platform 扣款(可能你自己不自覺地測試超過1000次),所以 Google 也很貼心的建議你,如果測試完後,就把用不到的 bucket 砍了。夠貼心吧。

後記
上傳了幾個自己的圖檔去辨識,好像都沒能辨識出來⋯⋯