病虫害图像包(PlantVillage)
真实开源数据集封装(SKU-07):PlantVillage 叶片病虫害 RGB 图像(约 5.4 万张、38 类)。ImageFolder 布局;样例为每类最多 3 张。README 强调实验室叶片 vs 田间域偏移。
提供商: 平台自营
AI 就绪: 可对接训练 / RAG · 查看通道说明 · 同类筛选
专区: AI 语料
交付形态:文件包
适用场景
1 / 5场景说明
适用于:
1
作物叶片病虫害多分类基线
2
ImageFolder / CNN 教学与迁移学习实验
3
域偏移对比(lab → field)研究
不适用于:直接替代田间实拍诊断数据,或未说明域偏移的生产部署。
使用指南
2 / 5通过统一 API 拉取数据(全站接口相同,仅替换 slug)。
-
1
获取凭证
登录 → 购买 → 在 申请 API Key 签发密钥(仅显示一次)
-
2
发起请求
GET /api/v1/data/agriculture-plantvillage/rows?page=1&size=10,Header:X-API-Key -
3
解析响应
从 JSON 的
rows取数据,用total翻页 -
4
处理错误
401密钥无效 ·403未购买/无权 ·400参数错误 ·429过频 ·502上游失败
数据集说明
3 / 5SKU-07 病虫害图像包(PlantVillage)
- 源:PlantVillage(Mendeley / TFDS plant_village)
- 布局:ImageFolder
images/<Crop___Disease>/* - 样例:每类最多 3 张(sample.zip)
- 注意:实验室叶片 vs 田间域偏移;上架前复核再分发条款
字段 Schema
4 / 5{
"classes": [
"Apple___Apple_scab",
"Apple___Black_rot",
"Apple___Cedar_apple_rust",
"Apple___healthy",
"Background_without_leaves",
"Blueberry___healthy",
"Cherry___Powdery_mildew",
"Cherry___healthy",
"Corn___Cercospora_leaf_spot Gray_leaf_spot",
"Corn___Common_rust",
"Corn___Northern_Leaf_Blight",
"Corn___healthy",
"Grape___Black_rot",
"Grape___Esca_(Black_Measles)",
"Grape___Leaf_blight_(Isariopsis_Leaf_Spot)",
"Grape___healthy",
"Orange___Haunglongbing_(Citrus_greening)",
"Peach___Bacterial_spot",
"Peach___healthy",
"Pepper,_bell___Bacterial_spot",
"Pepper,_bell___healthy",
"Potato___Early_blight",
"Potato___Late_blight",
"Potato___healthy",
"Raspberry___healthy",
"Soybean___healthy",
"Squash___Powdery_mildew",
"Strawberry___Leaf_scorch",
"Strawberry___healthy",
"Tomato___Bacterial_spot",
"Tomato___Early_blight",
"Tomato___Late_blight",
"Tomato___Leaf_Mold",
"Tomato___Septoria_leaf_spot",
"Tomato___Spider_mites Two-spotted_spider_mite",
"Tomato___Target_Spot",
"Tomato___Tomato_Yellow_Leaf_Curl_Virus",
"Tomato___Tomato_mosaic_virus",
"Tomato___healthy"
],
"counts_per_class": {
"Apple___Apple_scab": 630,
"Apple___Black_rot": 621,
"Apple___Cedar_apple_rust": 275,
"Apple___healthy": 1645,
"Background_without_leaves": 1143,
"Blueberry___healthy": 1502,
"Cherry___Powdery_mildew": 1052,
"Cherry___healthy": 854,
"Corn___Cercospora_leaf_spot Gray_leaf_spot": 513,
"Corn___Common_rust": 1192,
"Corn___Northern_Leaf_Blight": 985,
"Corn___healthy": 1162,
"Grape___Black_rot": 1180,
"Grape___Esca_(Black_Measles)": 1383,
"Grape___Leaf_blight_(Isariopsis_Leaf_Spot)": 1076,
"Grape___healthy": 423,
"Orange___Haunglongbing_(Citrus_greening)": 5507,
"Peach___Bacterial_spot": 2297,
"Peach___healthy": 360,
"Pepper,_bell___Bacterial_spot": 997,
"Pepper,_bell___healthy": 1478,
"Potato___Early_blight": 1000,
"Potato___Late_blight": 1000,
"Potato___healthy": 152,
"Raspberry___healthy": 371,
"Soybean___healthy": 5090,
"Squash___Powdery_mildew": 1835,
"Strawberry___Leaf_scorch": 1109,
"Strawberry___healthy": 456,
"Tomato___Bacterial_spot": 2127,
"Tomato___Early_blight": 1000,
"Tomato___Late_blight": 1909,
"Tomato___Leaf_Mold": 952,
"Tomato___Septoria_leaf_spot": 1771,
"Tomato___Spider_mites Two-spotted_spider_mite": 1676,
"Tomato___Target_Spot": 1404,
"Tomato___Tomato_Yellow_Leaf_Curl_Virus": 5357,
"Tomato___Tomato_mosaic_virus": 373,
"Tomato___healthy": 1591
},
"format": "image_folder",
"image_exts": [
".jpeg",
".jpg",
".png"
],
"layout": "images/\u003cclass\u003e/*",
"license_hint": "PlantVillage open research data \u2014 verify redistribution terms before commercial sale",
"source_name": "PlantVillage (Hughes \u0026 Salath\u00e9; Mendeley / TFDS mirror)",
"source_url": "https://data.mendeley.com/datasets/tywbtsjrjv/1"
}
调用示例
5 / 5路径中的 slug 换成已购商品标识即可。完整说明见 API 文档。
curl -H "X-API-Key: ds_你的密钥" \ "https://www.dataocean.zhixxing.cn/api/v1/data/agriculture-plantvillage/rows?page=1&size=10"
import requests
r = requests.get(
"https://www.dataocean.zhixxing.cn/api/v1/data/agriculture-plantvillage/rows",
headers={"X-API-Key": "ds_你的密钥"},
params={"page": 1, "size": 10},
timeout=30,
)
r.raise_for_status()
print(r.json())
const apiKey = "ds_你的密钥";
const url = new URL("https://www.dataocean.zhixxing.cn/api/v1/data/agriculture-plantvillage/rows");
url.searchParams.set("page", "1");
url.searchParams.set("size", "10");
const resp = await fetch(url, {
headers: { "X-API-Key": apiKey },
});
if (!resp.ok) throw new Error(`HTTP ${resp.status}`);
const payload = await resp.json();
console.log(payload);
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
var client = HttpClient.newHttpClient();
var request = HttpRequest.newBuilder()
.uri(URI.create("https://www.dataocean.zhixxing.cn/api/v1/data/agriculture-plantvillage/rows?page=1&size=10"))
.header("X-API-Key", "ds_你的密钥")
.GET()
.build();
var response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET",
"https://www.dataocean.zhixxing.cn/api/v1/data/agriculture-plantvillage/rows?page=1&size=10", nil)
req.Header.Set("X-API-Key", "ds_你的密钥")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(resp.StatusCode, string(body))
}
using System.Net.Http;
var client = new HttpClient();
client.DefaultRequestHeaders.Add("X-API-Key", "ds_你的密钥");
var json = await client.GetStringAsync("https://www.dataocean.zhixxing.cn/api/v1/data/agriculture-plantvillage/rows?page=1&size=10");
Console.WriteLine(json);
1 / 5