ゆるりと立派な大人になるために

元組み込みソフトウェアエンジニア、あれこれを書いていこうと思います。TOEICは915点。

Cloud vision apiを使ってみた。 part3 ~LABEL_DETECTION~

前回に引き続き、cloud vision api を使って画像認識します。

 

今回はLABEL_DETECTION。

 

これは物体が何かを当てるものらしいです。

 

画像①

http://www.ringodaigaku.com/aomoriringo/images/joryu-box-2.jpg

 

Reseponse:

        
"labelAnnotations": [
        {
          "mid": "/m/014j1m",
          "description": "apple",
          "score": 0.99186647
        },
        {
          "mid": "/m/02wbm",
          "description": "food",
          "score": 0.98748416
        },
        {
          "mid": "/m/02xwb",
          "description": "fruit",
          "score": 0.98377717
        },
    

 apple,food,fruitと出ているので、当たってますね。

 

画像②

 

https://upload.wikimedia.org/wikipedia/ja/9/9f/Kumamotojo.jpg

 

Response:

      "labelAnnotations": [
        {
          "mid": "/m/0d5gx",
          "description": "castle",
          "score": 0.84780043
        },
        {
          "mid": "/m/03nfmq",
          "description": "architecture",
          "score": 0.81381875
        },
        {
          "mid": "/m/07bxq",
          "description": "tourism",
          "score": 0.7273
        },

 castleとはじめに出ているので、正解ですね。

 

画像③

https://d18gmz9e98r8v5.cloudfront.net/ptr/20130830081706_485867030_3356_9.jpg

 

 Response:

         
"labelAnnotations": [
        {
          "mid": "/m/0krfg",
          "description": "meal",
          "score": 0.9953478
        },
        {
          "mid": "/m/01z8mz",
          "description": "meze",
          "score": 0.96037906
        },
        {
          "mid": "/m/02wbm",
          "description": "food",
          "score": 0.93255138
        }

meal,meze(前菜),foodで正解。

 

画像④

https://kotobank.jp/image/dictionary/nipponica/media/00151070000301.jpg

 

Response:

 
      "labelAnnotations": [
        {
          "mid": "/m/0cd4d",
          "description": "cheetah",
          "score": 0.99016738
        },
        {
          "mid": "/m/01280g",
          "description": "wildlife",
          "score": 0.96603912
        },
        {
          "mid": "/m/09686",
          "description": "vertebrate",
          "score": 0.85708529
        }
      ]

 cheetah,wildlifeと出ているので正解。

 

 

動物はライオンとチーターを区別したりできたりする。

東京タワーやスカイツリーはskyscraper,towerと出て区別はつかない。

 

FACE,TEXTはあんまりしっくりこなかったけど、

LABELは結構いい感じ。

 

次回はLOGO_DETECTIONでもやるかな。

Cloud vision apiを使ってみた。 part2 ~FACE_DETECTION~

 

前回に引き続き、cloud vision  api

 

cloud vision apiを使ってみた。 - ゆるりと立派な大人になるために

 

今回は顔検知(FACE_DETECTION)。

 

Image Sentiment Analysis

Vision API can analyze emotional facial attributes of people in your images, like joy, sorrow and anger.

 

 公式ページによると、感情も検知するらしい。

目や鼻などの、顔のパーツの正確な位置を返すみたいだけど、

そういうのは何年も前から見かける技術だから、今回はパス。

 

という事で、試してみる。

 

画像① 春日が笑ってる画像。

http://rr.img.naver.jp/mig?src=http%3A%2F%2Fimgcc.naver.jp%2Fkaze%2Fmission%2FUSER%2F20150316%2F63%2F6534323%2F8%2F292x265x1b290407c2ad18b18a4a776a.jpg%2F300%2F600&twidth=300&theight=600&qlt=80&res_format=jpg&op=r

 

          
     "rollAngle": -1.1256492,
          "panAngle": -9.0271168,
          "tiltAngle": -8.5518637,
          "detectionConfidence": 0.99997163,
          "landmarkingConfidence": 0.81448638,
          "joyLikelihood": "VERY_LIKELY", <------ ここ
          "sorrowLikelihood": "VERY_UNLIKELY",
          "angerLikelihood": "VERY_UNLIKELY",
          "surpriseLikelihood": "VERY_UNLIKELY",
          "underExposedLikelihood": "VERY_UNLIKELY",
          "blurredLikelihood": "VERY_UNLIKELY",
          "headwearLikelihood": "VERY_UNLIKELY"
    

 "joyLikelihood": "VERY_LIKELY"

楽しい可能性がとてもありえる。よし、正解

 

画像② 泣いてる人

http://free-photos-ls03.gatag.net/images/lgf01a201406091600.jpg

 

          
          "rollAngle": -0.71140051,
          "panAngle": -18.433014,
          "tiltAngle": -6.6012778,
          "detectionConfidence": 0.51231027,
          "landmarkingConfidence": 0.35215673,
          "joyLikelihood": "VERY_UNLIKELY",
          "sorrowLikelihood": "VERY_UNLIKELY",
          "angerLikelihood": "VERY_UNLIKELY",
          "surpriseLikelihood": "VERY_UNLIKELY",
          "underExposedLikelihood": "VERY_UNLIKELY",
          "blurredLikelihood": "VERY_UNLIKELY",
          "headwearLikelihood": "VERY_UNLIKELY"

 sorrowがunlikelyになってるので不正解

 

 

画像③ 帽子かぶってる人

https://scontent.cdninstagram.com/hphotos-xta1/t51.2885-15/s640x640/sh0.08/e35/12277464_806813726094724_1527207296_n.jpg

 

          "rollAngle": -0.010763885,
          "panAngle": 10.322119,
          "tiltAngle": -13.772013,
          "detectionConfidence": 0.996279,
          "landmarkingConfidence": 0.65904796,
          "joyLikelihood": "VERY_UNLIKELY",
          "sorrowLikelihood": "VERY_UNLIKELY",
          "angerLikelihood": "VERY_UNLIKELY",
          "surpriseLikelihood": "VERY_UNLIKELY",
          "underExposedLikelihood": "VERY_UNLIKELY",
          "blurredLikelihood": "VERY_UNLIKELY",
          "headwearLikelihood": "VERY_UNLIKELY"
    

 帽子かぶってるのに、headwearLikelihood がlikelyになってないですね。

 

 

うーーーん。他にいろいろと画像を試しましたが、joy以外のフラグは立ってくれませんでした。

 

感情を読み取る目的のFACE_DETECTIONはちょっと残念。

他のDETECTIONはまた次回に。

 

 

 

Cloud vision apiを使ってみた。 part1 ~TEXT_DETECTION~

前回、cloud vision apiが使えなくなっていましたが、

また申請が通ったみたいなので、とりあえず軽く使ってみる。

 

まずは、ソース

 

 

 サンプルにはpythonしかないけど、とりあえずphpで書いてみる。

画像はbase64でencodeして、何を認識させるのかタイプを指定すればOK。

 

今回はTEXTだけ、

 

画像①

f:id:simplestreet:20151221234256j:plain

レスポンス

 
"responses": [
    {
      "textAnnotations": [
        {
          "locale": "en",
          "description": "TEXT\n",
          "boundingPoly": {
            "vertices": [
              {
                "x": 14,
                "y": 40
              },
    

まぁ、認識できてますね。

次ー

画像②

f:id:simplestreet:20151221234711j:plain

 

"responses": [
    {
      "textAnnotations": [
        {
          "locale": "zh-Hant",
          "description": "漢字\n",
          "boundingPoly": {
            "vertices": [
              {
                "y": 25
              },

なんとなく、漢字もOK

 

 

じゃぁ、これはどうだ。

画像③

f:id:simplestreet:20081227180659j:plain

 

  "responses": [
    {
      "textAnnotations": [
        {
          "locale": "ja",
          "description": "PHhighて\nいじゃ\nないか\nLCL3だ\nrnU引\n",
          "boundingPoly": {
            "vertices": [

 

さすがに無理だね。

でも、日本語っていうのは理解できてるみたい。

 

他にも色々試してみたけど、文字以外に絵とか入ってると

空のデータを返してくるので、うまく認識できない見たい。

 

街の写真を写して、そん中に写ってる看板の文字とか認識できるレベルかと思ったけど、そこまでじゃないみたい。

 

 

まぁ、今日はこんくらい。FACE_DETECTIONとかはまたアップします。

cloud vision api なんか再申請しても返事がない

cloud visioin api 登録する。

cloud vision apiのドキュメントが見れるようになる。

毎日メーリングリストのメールが飛んでくる。

スパムみたいなので、メーリングリスト解除を行う。

cloud vision apiのドキュメントが見れなくなる。

再申請を行う。

返事なし。

 

もうダメかな。楽しみにしてたのに。

Cloud9ってすごい便利

前回、

 

Cloud vision apiのメーリングリストは退会してはいけない。 - ゆるりと立派な大人になるために

 

cloud vision apiメーリングリストを解除したために、APIの使用権を失ったわけで。。再申請の承認待ちとなっております。

 

 

 

それまで気分を変えて、Cloud9という開発環境を試しに使ってみる。

 

cloud9というのはWebブラウザ上で開発が行えるツールです。

 

ユーザー登録すると、php,ruby on railsとかpythonとかを選べるので、

phpをぽちっとする。

 

するとこんな画面がでてくる。

 

f:id:simplestreet:20151214210245j:plain

 

とりあえず、phpmysql が入ってるか確認する。

 

 

 

mysqlは5.5.44 , phpは5.5.9が入ってるみたい。

上部にあるRun Projectを押せばApacheも起動できる。

 

composerもデフォルトで入っているので、

とりあえずcakephp 3.xをインストール。

 

インストール後、プレビュー画面をcloud9上から確認。

 

f:id:simplestreet:20151214210248p:plain

 

全く使い方を知らない状態から、ここまで15分くらいです。

ちなみにCtrl-Sでソースコードを保存できます。

 

cloud9 にはgitも入っているので、ここで開発したものを

別のレポジトリにpushしたりもできるぞ。

 

 

 

ローカルにxammpとか入れるの大変だから、

もうここでいいかな。

Cloud vision apiのメーリングリストは退会してはいけない。

Cloud vision api に登録すると、
cloud-vision-trusted-testersのメーリングリストに追加されて、めちゃめちゃメールが飛んでくるんですよ。


やだなって思ってunsubscribeしたら、apiのドキュメントページが見れなくなっちゃった。
メーリングリストに入ってる事が条件だったのね。。。f(^ー^;


ということで、申請やり直し。

Cloud Vision APIを使っていいみたい。

 

前回、下記のAPIに申し込みしたんだけど、

 

Cloud Vision APIにとりあえず登録してみた。 - ゆるりと立派な大人になるために

 

今日、invitation的なメールが届いてAcceptしたら、

Cloud Vision APIのドキュメントが見れるようになりました。

 

 

 

なんか、cloud-vision-trusted-testersていうgoogleグループに

入れられたみたいなんだけど、テスターとしてバグをあげてほしいのかな?

 

 

 

ドキュメントはConfidentialとなってたので、リンクを貼れないけど

いろいろ試したら、また記事にします。明日から旅にでるので、来週以降になりそう。