PRISM病虫害診断API(ノーザンシステムサービス:v3):cucumber/haomote
概要
API名称
説明
農研機構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/cucumber/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メソッド
パラメータ
病虫害判定メソッド リクエスト
病虫害判定メソッド リクエスト(Header)
key | value | comment |
---|---|---|
X-User-Id | String | ユーザーID |
Authorization | String | トークンタイプ+アクセストークン |
- 補足説明
Authorization
(必須)- ベンダー様に別途お知らせしております。
- ベンダー様毎に異なる値を用いております。
- 秘密の情報ですので、取り扱いには十分注意してください。
X-User-Id
(必須)- エンドユーザのIDを入れてください。(※エンドユーザとは、ベンダー様が管理するユーザのことです。)
- 値は任意ですが、なるべく個別のIDを入れるようにしてください。
Content-Type
(必須)- Supported Media Types:
application/json
- Supported Media Types:
病虫害判定メソッド リクエスト(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/cucumber/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: "うどんこ病"} ], } ] } ] } ] }