asw_component/__init__.py +3−0 View file@@ -0,0 +1,3 @@
1 +
from .component import execute 2 +
3 +
__all__ = ["execute"][참조 MVP] 과채류 작업대상 인식 — RGB-D 관측에서 과실과 생장점을 식별하고 로봇 작업 후보를 구조화하는 참조 MVP입니다.
https://git.agrithing.ai/metafarmers/fruit-work-target-perception.git 54a9587 bb3f276 66d6ea9 bee1524 66d6ea9e932717d3fd5032864edc6a4ea082e58b asw_component/__init__.py +3−0 View filefrom .component import execute__all__ = ["execute"]asw_component/component.py +7−0 View filefrom __future__ import annotationsdef execute(payload: dict) -> dict: if not isinstance(payload, dict) or not payload: raise ValueError("a non-empty object is required") return {"component": "metafarmers/fruit-work-target-perception", "accepted": True, "status": "READY", "target": "vpu", "input_fields": sorted(payload.keys())}examples/input.json +16−0 View file{ "frameId": "greenhouse-row-03", "observations": [ { "id": "fruit-17", "kind": "fruit", "confidence": 0.94 }, { "id": "tip-02", "kind": "growth-tip", "confidence": 0.89 } ], "threshold": 0.8}pyproject.toml +5−0 View file[project]name = "fruit-work-target-perception"version = "0.1.0"description = "RGB-D 관측에서 과실과 생장점을 식별하고 로봇 작업 후보를 구조화하는 참조 MVP입니다."requires-python = ">=3.11"run.py +9−0 View filefrom __future__ import annotationsimport jsonimport sysfrom asw_component import executepath = sys.argv[1] if len(sys.argv) > 1 else Nonewith open(path, encoding="utf-8") if path else sys.stdin as source: payload = json.load(source)print(json.dumps(execute(payload), ensure_ascii=False, indent=2))