- API (データ&プログラム) -API(data&program)

PRISM病虫害診断API(ノーザンシステムサービス:v3):tomato/haomote

提供ベンダー:
システム名:
病害システム
利用条件:
WAGRI会員は無償

概要

API名称
PRISM病虫害診断API(ノーザンシステムサービス:v3)
説明

農研機構AI病虫害画像診断APIは、農林水産省戦略的プロジェクト研究推進事業「AIを活用した病害虫診断技術の開発」及び内閣府官民研究開発投資拡大プログラム(PRISM)によって、法政大学(生命科学部応用植物科学科及び理工学部応用情報工学科)により開発された病害判定エンジン、および、株式会社ノーザンシステムサービスにより開発された虫害判定エンジンを呼ぶ一連のAPI群です。 2021年6月現在、以下の以下の判定エンジンを利用できます。

  • 法政大学が開発した4作目(キュウリ、イチゴ、ナス、トマト)の葉表の画像判定
  • ノーザンシステムサービスが開発した4作目(キュウリ、イチゴ、ナス、トマト)の葉表の画像判定

エンジンは順次追加される予定です。

ご利用いただくには、WAGRI会員である必要があります。また、別途申し込みが必要です。 その際には、AI病虫害画像診API利用規約(お申込時に提示いたします)に同意いただき、AI病虫害画像診API同意書兼利用申請書を提出いただくことになりますので、予めご了承ください。

データの更新頻度
随時
カテゴリー
添付ファイル

リクエスト

URL

https://api.wagri.net/API/Individual/Naro/PRISM/plant_disease/nss/v3/tomato/haomote

説明

ご利用いただくには、WAGRI会員である必要があります。また、別途申し込みが必要です。 その際には、AI病虫害画像診API利用規約(お申込時に提示いたします)に同意いただき、AI病虫害画像診API同意書兼利用申請書を提出いただくことになりますので、予めご了承ください。

病虫害判定メソッド 概要

画像をPOSTすると、病害判定情報が返ってきます。

  • 本判定エンジンのAPIのurlは以下の通りです。
    • https://api.wagri.net/API/Individual/Naro/PRISM/plant_disease/<engine>
    • Example
      • https://api.wagri.net/API/Individual/Naro/PRISM/plant_disease/hosei/v4/strawberry/haomote
  • <engine>により、作目やエンジンを指定することが可能です。
  • 現在公開されている<engine>のリストは以下の通りです。

病害:

<engine> 説明 バージョン
hosei/v4/cucumber/haomote キュウリ(法政大、葉表) 4.0
hosei/v4/strawberry/haomote イチゴ(法政大、葉表) 4.0
hosei/v4/eggplant/haomote ナス(法政大、葉表) 4.0
hosei/v4/tomato/haomote トマト(法政大、葉表) 4.0

虫害:

<engine> 説明 バージョン
nss/v3/cucumber/haomote キュウリ(ノーザンシステムサービス、葉表) 3.0
nss/v3/strawberry/haomote イチゴ(ノーザンシステムサービス、葉表) 3.0
nss/v3/eggplant/haomote ナス(ノーザンシステムサービス、葉表) 3.0
nss/v3/tomato/haomote トマト(ノーザンシステムサービス、葉表) 3.0
  • 補足説明
    • <engine>のサブディレクトリは「開発組織」「バージョン」「作目名」「判定部位」の順に並んでいます。
      • <organization>/<version>/<crop>/<shooting_part>
      • Example
        • 「法政大」「バージョン4」「キュウリ」「葉表」の場合は以下の通りです。
        • hosei/v4/cucumber/haomote
HTTPメソッド
POST
パラメータ

病虫害判定メソッド リクエスト

病虫害判定メソッド リクエスト(Header)

key value comment
X-User-Id String ユーザーID
Authorization String トークンタイプ+アクセストークン
  • 補足説明
    • Authorization(必須)
      • ベンダー様に別途お知らせしております。
      • ベンダー様毎に異なる値を用いております。
      • 秘密の情報ですので、取り扱いには十分注意してください。
    • X-User-Id(必須)
      • エンドユーザのIDを入れてください。(※エンドユーザとは、ベンダー様が管理するユーザのことです。)
      • 値は任意ですが、なるべく個別のIDを入れるようにしてください。
    • Content-Type(必須)
      • Supported Media Types: application/json

病虫害判定メソッド リクエスト(Body)

Root
key value comment
assets Dictionary[] リクエスト情報
assets
key value comment
id String データID
X-User-Id String ユーザーID
options Dictionary 開発者向け設定
images Dictionary[] 画像情報
assets/options
key value comment
YOLOv3 String 病害判定に判定枠を使用するかどうか(True: 枠を使う, False: 枠を使わない)
diagnosis Boolean 病害判定するかどうか(True: 判定する, False: 判定しない)
assets/images
key value comment
filename String 写真ファイル名
data String 画像情報(base64エンコード)
date String 判定日時
filedate String 撮影日時
annotations Dictionary[] 付加情報
assets/images/annotations
key value comment
damage String 病害名
plant String 作目名
place String 撮影場所
boundingBoxes Dictionary[] 判定枠情報
  • 補足説明
    • boundingBoxesは判定枠の情報が含まれます。
      • ‘bbox’: 判定枠の始点並びに終点の座標。順に始点のx、y座標、終点のx、y座標と記述します。
      • ‘ratio’: 枠の拡大縮小倍率。アプリ上では画像は縮小表示されるので、後に復元できるよう拡大縮小倍率を記録します。
assets/images/boundingBoxes
key value comment
bbox Int[] 枠座標情報
byhand Boolean 自身で囲った枠かどうか(True: 手動, False: 自動)
comment String 備考
conf Int 未使用プロパティ
ratio Double 枠の拡大倍率

呼出例

本判定エンジンのAPIのurl
https://api.wagri.net/API/Individual/Naro/PRISM/plant_disease/nss/v3/tomato/haomote

病害判定リクエスト例
病害判定リクエスト例(header)

{
    'X-User-Id': "testuser"
    'Authorization': "AbCDEfg0414",
    'Content-Type': 'application/json',
}

病害判定リクエスト例(body)

{
    "assets": [
        {
            "id": "data_for_test",
            "X-User-Id": "testuser",
            "options": {
                "YOLOv3": "False"
            },
            "images": [
                {
                    "filename": "test.png",
                    "data": "data:image/jpeg;base64,AbCDEfg",
                    "date": "2021/3/10",
                    "filedate": "2020/3/24",
                    "annotations": [
                        {
                            "damage": "健全",
                            "plant": "strawberry",
                            "place": "house",
                            "boundingBoxes": [
                                {
                                    "bbox": [120, 58.75, 262.5, 222.5],
                                    "byhand": true,
                                    "comment": "",
                                    "conf": 9999,
                                    "ratio": [0.8, 0.8]
                                }
                            ]
                        }
                    ]
                }
            ]
        }
    ]
}

レスポンス

レイアウト

病害判定メソッド レスポンス

病害判定メソッド レスポンス(Body)

リクエストが正常に送信できた場合、ステータスコード200とともに判定結果が返ってきます。

Root
key value comment
assets Dictionary[] レスポンス情報
assets
key value comment
id String データID
predictionID String 予測結果ID
images Dictionary[] 画像情報
assets/images
key value comment
results Dictionary[] 判定結果
assets/images/results
key value comment
classifier_id String 判定エンジンID
ranking Dictionary[] 判定結果(降順)
assets/images/results/ranking
key value comment
probability Number 確度(0-1)
estimated String 判定結果

病害判定メソッド エラーハンドリング

statusCode: 400
key value comment
user_name String ユーザー名
message String エラーメッセージ
result Int エラーコード
statusCode: 401
key value comment
message String エラーメッセージ
result Int エラーコード
statusCode: 403
key value comment
message String エラーメッセージ
result Int エラーコード
レスポンス例

病害判定メソッド レスポンス例
病害判定メソッド レスポンス例(Body)

{
    "assets": [
        { 
            "id" : "data_for_test",
            "predictionID": "AAAq2FGMiRi0414A",
            "images" : [
                {
                    "results" : [
                        {
                            "classfier_id" : "strawberry v1.0",
                            "ranking": [
                                {probability: 1, estimated: "健全"},
                                {probability: 0, estimated: "うどんこ病"}
                            ],
                        }
                    ]
                }
            ]
        }
    ]
}

 

 

ステータスコード
コード 名称 値の説明
400 Bad Request リクエストが不正です。
401 Unauthorized 認証情報が不正です。
403 Forbidden リソースのアクセスが禁止されています。
500 Internal Server Error サーバー内部でエラーが発生しました。

 

サンプルソースコード

ソースコード

病害判定リクエスト例
病害判定リクエスト例(header)

{
    'X-User-Id': "testuser"
    'Authorization': "AbCDEfg0414",
    'Content-Type': 'application/json',
}

 

病害判定リクエスト例(body)

{
    "assets": [
        {
            "id": "data_for_test",
            "X-User-Id": "testuser",
            "options": {
                "YOLOv3": "False"
            },
            "images": [
                {
                    "filename": "test.png",
                    "data": "data:image/jpeg;base64,AbCDEfg",
                    "date": "2021/3/10",
                    "filedate": "2020/3/24",
                    "annotations": [
                        {
                            "damage": "健全",
                            "plant": "strawberry",
                            "place": "house",
                            "boundingBoxes": [
                                {
                                    "bbox": [120, 58.75, 262.5, 222.5],
                                    "byhand": true,
                                    "comment": "",
                                    "conf": 9999,
                                    "ratio": [0.8, 0.8]
                                }
                            ]
                        }
                    ]
                }
            ]
        }
    ]
}

 

病害判定メソッド レスポンス例
病害判定メソッド レスポンス例(Body)

{
    "assets": [
        { 
            "id" : "data_for_test",
            "predictionID": "AAAq2FGMiRi0414A",
            "images" : [
                {
                    "results" : [
                        {
                            "classfier_id" : "strawberry v1.0",
                            "ranking": [
                                {probability: 1, estimated: "健全"},
                                {probability: 0, estimated: "うどんこ病"}
                            ],
                        }
                    ]
                }
            ]
        }
    ]
}

 

 

前に戻る
上部へスクロール
Scroll to Top