【阅读整理】Implementation of an algorithm for automated phenotyping through plant 3D-modeling

主体篇幅目录:

1、Introduction

2、Materials and methods

2.1 Experimental design and data collection

2.2 Three-dimensional reconstruction and processing

2.3 3D-model segmentation

2.3.1 Orientation and scaling

2.3.2  Main stem and petioles segmentation

2.3.3. Single-leaf segmentation

2.4 Plant growth phenotyping

2.4.1. Plant growth analysis

2.4.2. Dynamic morpho-physiological responses to soil water availability
2.5  Statistical analysis
3 Result
3.1  Automatic organ-level segmentation
3.2  Automatic phenotypic traits extraction
3.3  Water stress detection
3.3.1. Automatic monitoring of phenotypic responses to water treatments
3.3.2. Modelling relationships between plant growth and soil water status
4 Discussion
5 Conclusions
浏览目录后的几个问题:
1、用的什么获取三维模型?
2、用的什么算法进行分割?分割结果怎么样?
3、看图片里面还有水分流失后植株叶茎根水分分配占比,是怎么得到的?称重?还是多光谱?


Abstract

(cv. 栽培变种)

        高通量植物表型需要集成的基于图像的工具来自动和同时定量多种形态和生理性状,这是植物对限制环境条件的敏感性的有价值的指标。

        在本研究中,我们提出了一种新的基于三维(3D)建模的分割算法,通过表型平台和结构从Structure from motion(SfM)方法获得。该算法最初在4个盆栽商业番茄品种的3D模型上进行了测试,即“圣皮埃尔”(S)、“科斯特罗托”(C)、“雷吉内拉”(R)和“Gianna”(G),用于鉴定植物的主要表型性状(高度、角度和面积)。

        结果表明,该算法能够自动检测和测量株高(\overline{R^{2}}=0.98、\overline{RMSE}=0.34cm、\overline{MAPE}=3.12%和\overline{AIC}=6.03)、叶柄倾斜度(\overline{R^{2}}=0.96、\overline{RMSE}=1.35◦、MAPE=3.64%和\overline{AIC}=22.16)、单叶面积(\overline{R^{2}}=0.98、\overline{RMSE}=0.95cm2、\overline{MAPE}=7.40%和\overline{AIC}=14.91)和单叶角(\overline{R^{2}}=0.84、\overline{RMSE}=1.43◦、\overline{MAPE}=2.17%和\overline{AIC}=15.83)。

        作为研究案例,利用该算法监测了同一番茄品种对早期土壤水分(FTSW)连续20天的动态响应。对植株进行三种处理(100%全灌、50%亏缺灌溉和0%无灌溉)。

        结果表明,R和G cv. 的株高是对水分胁迫最敏感的表型性状(FTSW值为0.58时,植株生长抑制),而FTSW较低时,总叶面积和蒸腾速率开始受到影响(分别为0.52和0.40)。

        相反,S和C cv. 在分析的表型性状中没有表现出任何显著的变化,可能是因为这些品种的生长速度缓慢,允许它们消耗更少的水,因此没有达到水分胁迫阈值。结果表明,株高性状可用于后续分析,便于快速鉴定抗逆境番茄品种,从而加强杂交方案。


含义公式与代码实现原文:预测评价指标RMSE、MSE、MAE、MAPE、SMAPE_手撕机的博客-CSDN博客_mae

均方根误差RMSE、均方误差MSE、平均绝对误差MAE、平均绝对百分比误差MAPE、对称平均绝对百分比误差SMAPE       

# MAPE和SMAPE需要自己实现
def mape(y_true, y_pred):
    return np.mean(np.abs((y_pred - y_true) / y_true)) * 100

def smape(y_true, y_pred):
    return 2.0 * np.mean(np.abs(y_pred - y_true) / (np.abs(y_pred) + np.abs(y_true))) * 100

y_true = np.array([1.0, 5.0, 4.0, 3.0, 2.0, 5.0, -3.0])
y_pred = np.array([1.0,
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值