Watson Visual Recognition을 만져 보았습니다.

8764 단어 WatsonNode.js

소개



SC(비공식) Advent Calendar 2018 9일째입니다.
이번은 IBM이 제공하고 있는 화상 인식 API, 「Watson Visual Recognition」을 사용해 보았으므로 비망을 겸해 순서를 잡히 기사한 기사가 됩니다.
가끔 텍토우가 쓰여 있을지도 모르기 때문에 용서를 ...

전제



이번에는 Node.js와 Watson Developer Cloud SDK를 사용합니다.
또한 IBM 라이트 계정을 사용하고 있습니다.
벌써 커스텀 모델 만들거나 고뇨고뇨 해 버리고 있으므로 처음 하는 분과는 표시가 조금 다른 곳이 있을지도...

우선은



내 페이지에서 IBM 클라우드로 진입


그러면 다음과 같은 화면이 된다고 생각합니다.
이전에 만든 Visual Recognition 리소스가 있으므로 이번에는 사용합니다.
※처음의 경우는 「리소스의 작성」으로부터 작성할 수 있을 것.


리소스를 선택한 후 도구 시작을 선택합니다.


이제 이번 개발 환경인 WatsonStudio를 시작했습니다.
원래 어느 정도 학습되고 있으므로, 이 단계에서 API를 두드리자.


사용해보기



자격 증명에서 자격 증명을 얻을 수 있습니다. 아무래도 좋지만 이번에는 최상위를 사용합니다.




다음 스크립트를 실행합니다.
참고 사이트 의 거의 원형 파크리입니다만, 「API Key」와 「URL」는 상기에서 취득한 것을 씁니다.

test1.js
//. test1.js
var fs = require( 'fs' );

//. https://www.npmjs.com/package/watson-developer-cloud
var vr_v3 = require( 'watson-developer-cloud/visual-recognition/v3' );

var vr = new vr_v3({
  url: "https://gateway.watsonplatform.net/visual-recognition/api",
  version: '2018-03-19',
  iam_apikey: "[上で取得したAPI Key]"
});

var filename = 'me.jpg';
if( process.argv.length >= 3 ){
  filename = process.argv[2];
}

var params = {
  images_file: fs.createReadStream( filename ),
  classifier_ids: ["default"]
};

vr.classify( params, function( err, result ){
  if( err ){
    console.log( err );
  }else{
    console.log( JSON.stringify( result, null, 2 ) );
  }
});

덧붙여서, 이번에 사용 me.jpg 는 개의 동상과 나란히 내 이미지를 사용합니다. (마스크는 걸리지 않지만 ...)

SDK를 설치하고
$ npm install watson-developer-cloud

실행 결과는 다음과 같습니다.
$node test1.js
{
  "images": [
    {
      "classifiers": [
        {
          "classifier_id": "default",
          "name": "default",
          "classes": [
            {
              "class": "animal breeding",
              "score": 0.647
            },
            {
              "class": "zoo keeping",
              "score": 0.561
            },
            {
              "class": "hitching post",
              "score": 0.512,
              "type_hierarchy": "/support/hitching post"
            },
            {
              "class": "support",
              "score": 0.512
            },
            {
              "class": "puppeteer",
              "score": 0.5,
              "type_hierarchy": "/person/entertainer/puppeteer"
            },
            {
              "class": "entertainer",
              "score": 0.5
            },
            {
              "class": "person",
              "score": 0.5
            },
            {
              "class": "fish",
              "score": 0.6
            },
            {
              "class": "dog",
              "score": 0.593
            },
            {
              "class": "Animal Tending",
              "score": 0.601
            },
            {
              "class": "bottle green color",
              "score": 0.738
            },
            {
              "class": "greenishness color",
              "score": 0.56
            }
          ]
        }
      ],
      "image": "me.jpg"
    }
  ],
  "images_processed": 1,
  "custom_classes": 0
}

호오~, 「animal breeding」 「zoo keeping」 「person」 「dog」등 상당히 맞아요!
「fish」는 어디에서 왔는지 신경이 쓰입니다만 (웃음)

결론



이번에는 Watson Visual Recognition에서 기존의 학습된 모델을 사용했습니다.
좋은 느낌으로 이미지를 식별하지만 약간 학습이 부족한 것 같습니다 (메가 퀵
어쩔 수 없네요, 제가 조련하고 학습시켜 드리겠습니다.
그래서 다음에 커스텀 모델을 만들어 시험해보고 싶습니다.
간단했지만 감사합니다.

참고 사이트

좋은 웹페이지 즐겨찾기