<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>智慧农业 on Zeqiang Fang | 方泽强</title><link>https://zeqiang.fun/categories/%E6%99%BA%E6%85%A7%E5%86%9C%E4%B8%9A/</link><description>Recent content in 智慧农业 on Zeqiang Fang | 方泽强</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Sat, 21 Sep 2019 00:00:00 +0000</lastBuildDate><atom:link href="https://zeqiang.fun/categories/%E6%99%BA%E6%85%A7%E5%86%9C%E4%B8%9A/" rel="self" type="application/rss+xml"/><item><title>国际智慧温室种植挑战赛 (International Autonomous Greenhouse Challenge)</title><link>https://zeqiang.fun/cn/2019/09/international-autonomous-greenhouse-challenge/</link><pubDate>Sat, 21 Sep 2019 00:00:00 +0000</pubDate><guid>https://zeqiang.fun/cn/2019/09/international-autonomous-greenhouse-challenge/</guid><description><![CDATA[
        <p><a href="http://www.autonomousgreenhouses.com">国际智慧温室种植挑战赛</a> 是一个由 <a href="https://www.wur.nl">瓦赫宁根大学研究中心 (Wageningen University &amp; Research)</a> 主办的旨在利用自动化、信息技术和人工智能技术控制温室以实现增加产量、降低成本等目标的大赛。第一届赛事的种植作物为黄瓜，第二届赛事为樱桃西红柿。</p>


<div class="gallery  caption-position-bottom caption-effect-fade hover-effect-zoom hover-transition" itemscope itemtype="http://schema.org/ImageGallery">
	  
<link rel="stylesheet" href="/css/photoswipe.css" />
<div class="box" >
  <figure class="photoswipe-figure" itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">
    <div class="img" style="background-image: url('/images/cn/2019-09-21-international-autonomous-greenhouse-challenge/cucumber.jpg');">
      <img itemprop="thumbnail" src="/images/cn/2019-09-21-international-autonomous-greenhouse-challenge/cucumber.jpg" alt="黄瓜"/>
    </div>
    <a href="/images/cn/2019-09-21-international-autonomous-greenhouse-challenge/cucumber.jpg" itemprop="contentUrl"></a>
      <figcaption>
          <p>黄瓜</p>
      </figcaption>
  </figure>
</div>


<div class="box" >
  <figure class="photoswipe-figure" itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">
    <div class="img" style="background-image: url('/images/cn/2019-09-21-international-autonomous-greenhouse-challenge/greenhouse.png');">
      <img itemprop="thumbnail" src="/images/cn/2019-09-21-international-autonomous-greenhouse-challenge/greenhouse.png" alt="温室"/>
    </div>
    <a href="/images/cn/2019-09-21-international-autonomous-greenhouse-challenge/greenhouse.png" itemprop="contentUrl"></a>
      <figcaption>
          <p>温室</p>
      </figcaption>
  </figure>
</div>


<div class="box" >
  <figure class="photoswipe-figure" itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">
    <div class="img" style="background-image: url('/images/cn/2019-09-21-international-autonomous-greenhouse-challenge/tomatos.jpg');">
      <img itemprop="thumbnail" src="/images/cn/2019-09-21-international-autonomous-greenhouse-challenge/tomatos.jpg" alt="西红柿"/>
    </div>
    <a href="/images/cn/2019-09-21-international-autonomous-greenhouse-challenge/tomatos.jpg" itemprop="contentUrl"></a>
      <figcaption>
          <p>西红柿</p>
      </figcaption>
  </figure>
</div>


</div>

<p>很幸运能够在晚些时候加入到 CPlant 队伍中一同参与到这次赛事，虽然加入到队伍中比较晚，但工作之余也参与了大部分赛事的准备工作。</p>


<div class="gallery  caption-position-bottom caption-effect-fade hover-effect-zoom hover-transition" itemscope itemtype="http://schema.org/ImageGallery">
	  

<div class="box" >
  <figure class="photoswipe-figure" itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">
    <div class="img" style="background-image: url('/images/cn/2019-09-21-international-autonomous-greenhouse-challenge/greenhouse-1.jpg');">
      <img itemprop="thumbnail" src="/images/cn/2019-09-21-international-autonomous-greenhouse-challenge/greenhouse-1.jpg" alt="温室"/>
    </div>
    <a href="/images/cn/2019-09-21-international-autonomous-greenhouse-challenge/greenhouse-1.jpg" itemprop="contentUrl"></a>
      <figcaption>
          <p>温室</p>
      </figcaption>
  </figure>
</div>


<div class="box" >
  <figure class="photoswipe-figure" itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">
    <div class="img" style="background-image: url('/images/cn/2019-09-21-international-autonomous-greenhouse-challenge/greenhouse-2.jpg');">
      <img itemprop="thumbnail" src="/images/cn/2019-09-21-international-autonomous-greenhouse-challenge/greenhouse-2.jpg" alt="温室"/>
    </div>
    <a href="/images/cn/2019-09-21-international-autonomous-greenhouse-challenge/greenhouse-2.jpg" itemprop="contentUrl"></a>
      <figcaption>
          <p>温室</p>
      </figcaption>
  </figure>
</div>


<div class="box" >
  <figure class="photoswipe-figure" itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">
    <div class="img" style="background-image: url('/images/cn/2019-09-21-international-autonomous-greenhouse-challenge/greenhouse-3.jpg');">
      <img itemprop="thumbnail" src="/images/cn/2019-09-21-international-autonomous-greenhouse-challenge/greenhouse-3.jpg" alt="温室"/>
    </div>
    <a href="/images/cn/2019-09-21-international-autonomous-greenhouse-challenge/greenhouse-3.jpg" itemprop="contentUrl"></a>
      <figcaption>
          <p>温室</p>
      </figcaption>
  </figure>
</div>


</div>

<p>整个赛事分为初赛和复赛两个部分，初赛采用 Hackathon 的形式通过仿真模拟进行，初赛晋级的队伍将会在后续 6 个月的时间内通过远程控制进行真实的作物种植比赛。本次赛事吸引了全球顶级的农业与 AI 领域的企业、大学和研究机构参与，组成来自 26 个国家的 21 支团队，超过 200 名专家与学生。</p>


<div class="gallery  caption-position-bottom caption-effect-fade hover-effect-zoom hover-transition" itemscope itemtype="http://schema.org/ImageGallery">
	  

<div class="box" >
  <figure class="photoswipe-figure" itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">
    <div class="img" style="background-image: url('/images/cn/2019-09-21-international-autonomous-greenhouse-challenge/hacking.jpg');">
      <img itemprop="thumbnail" src="/images/cn/2019-09-21-international-autonomous-greenhouse-challenge/hacking.jpg" alt="Hacking"/>
    </div>
    <a href="/images/cn/2019-09-21-international-autonomous-greenhouse-challenge/hacking.jpg" itemprop="contentUrl"></a>
      <figcaption>
          <p>Hacking</p>
      </figcaption>
  </figure>
</div>


<div class="box" >
  <figure class="photoswipe-figure" itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">
    <div class="img" style="background-image: url('/images/cn/2019-09-21-international-autonomous-greenhouse-challenge/me.jpg');">
      <img itemprop="thumbnail" src="/images/cn/2019-09-21-international-autonomous-greenhouse-challenge/me.jpg" alt="我"/>
    </div>
    <a href="/images/cn/2019-09-21-international-autonomous-greenhouse-challenge/me.jpg" itemprop="contentUrl"></a>
      <figcaption>
          <p>我</p>
      </figcaption>
  </figure>
</div>


<div class="box" >
  <figure class="photoswipe-figure" itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">
    <div class="img" style="background-image: url('/images/cn/2019-09-21-international-autonomous-greenhouse-challenge/lunch.jpg');">
      <img itemprop="thumbnail" src="/images/cn/2019-09-21-international-autonomous-greenhouse-challenge/lunch.jpg" alt="午餐"/>
    </div>
    <a href="/images/cn/2019-09-21-international-autonomous-greenhouse-challenge/lunch.jpg" itemprop="contentUrl"></a>
      <figcaption>
          <p>午餐</p>
      </figcaption>
  </figure>
</div>


</div>

<p>初赛黑客马拉松评分主要由三部分组成：团队构成 （20％)、人工智能方法（30％)，以及虚拟西红柿种植净利润（50％)。仿真部分，采用了 Venlo 类型的温室，模拟时间从 2017/12/15 日至 2018/06/01，荷兰本地的外部天气，整个模拟过程并未考虑病虫害问题 (主要受到湿度影响)。仿真模型包含三个子模型：</p>
<ol>
<li>Kaspro 温室模型</li>
<li>Intkam 作物模型</li>
<li>经济模型</li>
</ol>
<p><strong>Kaspro 温室模型</strong>：主要通过温室的控制器 (例如：通风口，加热管道，CO<sub>2</sub> 补充器，遮阳帘，灌溉系统等) 控制温室内的环境变量 (例如：光照，温度，湿度，CO<sub>2</sub> 浓度，水量，水 EC 值等)，进而控制作物生长。环境控制模型是相对复杂的一个模型，因为控制器和环境变量之间并不是一对一的关系。</p>
<p><strong>Intkam 作物模型</strong>：主要通过设置茎的密度，叶片的去留策略，去顶时间，果实个数保留策略等控制作物的生长。</p>
<p><strong>经济模型</strong>：主要定义了不同时间、不同果重、不同糖分樱桃番茄的价格，不同时间段内光照、加热和 CO<sub>2</sub> 的成本，以及相关的人工成本。</p>
<p>最终经过 24 小时的 Hackathon，我们队伍的成绩如下，最后排名 <strong>9/21</strong>，很遗憾未能进入到决赛。</p>
<table>
  <thead>
    <tr style="font-weight: bold;">
      <th width=20% style="text-align: center;">Team Composition (20%)</th>
      <th width=20% style="text-align: center;">Strategy and AI Approach for the Growing Challenge (30%)</th>
      <th width=20% style="text-align: center;">Obtained Points Following Rankings in Hackathon (50%)</th>
      <th width=20% style="text-align: center;">Obtained  Final Results in Hackathon (Net Profit)</th>
      <th width=20% style="text-align: center;">Total Score</th>
    </tr>
  </thead>
    <tr>
      <td style="text-align: center;">15.6 <br/> (Ranking 6/21) <br/> (Max: 17.6) <br/> (Min: 7.6)</td>
      <td style="text-align: center;">21.6 <br/> (Ranking 4/21) <br/> (Max: 23.1) <br/> (Min: 4.8)</td>
      <td style="text-align: center;">21 <br/> (Ranking 9/21) <br/> (Max: 50) <br/> (Min: 1)</td>
      <td style="text-align: center;">92.0 <br/> (Ranking 9/21) <br/> (Max: 154.5) <br/> (Min: 0.7)</td>
      <td style="text-align: center;">58.2 <br/> (Ranking 9/21) <br/> (Max: 88.8) <br/> (Min: 13.4)</td>
    </tr>
  <tbody>
  </tbody>
</table>

<div class="box fancy-figure caption-position-bottom caption-effect-fade" >
  <figure class="photoswipe-figure" itemprop="associatedMedia" itemscope itemtype="http://schema.org/ImageObject">
    <div class="img">
      <img itemprop="thumbnail" src="/images/cn/2019-09-21-international-autonomous-greenhouse-challenge/agc-2019-teams.png" alt="Autonomous Greenhouse Challenge 2019"/>
    </div>
    <a href="/images/cn/2019-09-21-international-autonomous-greenhouse-challenge/agc-2019-teams.png" itemprop="contentUrl"></a>
      <figcaption>
          <p>Autonomous Greenhouse Challenge 2019</p>
      </figcaption>
  </figure>
</div>

<p>所在的 CPlant 队伍是本次比赛中人数最多的一只队伍 (21 人，最少的队伍为 5 人，虽然人最多却未能进入决赛 &#x1f625;)，评审从国籍，研究和企业组成等多个角度对团队构成进行了评分，最终我们拿到了一个中等偏上的成绩。</p>
<p>人工智能方法方面是我们在准备过程中讨论比较多的内容，每个人根据自己的优势不同分别负责了 Plant Growth Model, Machine Learning, Deep Learning, Reinforcement Learning 和 Knowledge Graph 等不同部分的设计。答辩过程中多位评委对于我们的 Knowledge Graph 在整个人工智能中的应用很感兴趣，在最后点评中也提到我们是唯一一只提到 Knowledge Graph 及其在智慧农业中应用的队伍。我认为智慧农业不同于其他人工智能应用领域分支，其具有一定的特殊性，数据和实验并不像其他领域容易获取和实现，我们需要更多地结合农业科学本身的相关经验和知识。由于我之前从事过 NLP 和 Knowledge Graph 相关工作，我深信 Knowledge Graph 一定会是一个将农业和人工智能有机地结合起来的好工具，但至于如果结合和实现落地还需要进一步探索和研究。最终这部分我们拿到了一个相对不错的成绩。</p>
<p>分数占比最多的仿真部分我们做的有所欠缺，同时这也是我们最为陌生的一个部分。整个 Hackathon 从当地时间 12 日 13 时开始，至 13 日 13 时结束，我们通宵达旦，一整夜的 Coding 陪伴我们度过了中秋佳节。整个过程中我们几乎将全部的精力投入到了 Kaspro 温室模型参数的优化中来，Intkam 作物模型则是根据相关的农业经验进行了简单的优化配置，经济模型并没有直接的控制参数，而是通过相关投入和产出进行计算得到。通过不断的优化，净收益从 10 几分不断提高到 80 几分，后面则一直卡在了 80 几分未能进一步提高。整个 Hackathon 过程中，组委会不定时地公布一些不包含具体组名的成绩统计信息，在第一天白天就已经有队伍拿到了接近 100 分的成绩，在半夜的一次公布中有队伍已经拿到了接近 120 分的净收益。面对巨大的压力，我们仍不断地优化 Kaspro 温室模型参数，虽然成绩在稳步提高，但提高的幅度甚微。在临近比赛的时候，我们终于决定在 Intkam 作物模型做一些大胆的尝试，设置了一些现实中绝对不可能达到的参数，居然取得了很高的提升。在最后 10 几分钟内我们将成绩又提高了 10 分左右，但由于时间限制我们未能来得及进一步调整测试。</p>
<p>所有队伍的 Net Profit 和 Points 成绩从大到小排列结果如下：</p>
<p><img src="/images/cn/2019-09-21-international-autonomous-greenhouse-challenge/net-profit-and-points-results.png" alt="Net Profit &amp; Points Result"></p>
<p>一些与现实相差很远的参数设置却能够得到一个更好的结果，这个问题我们在最开始确实没有敢想。但其实开赛前的技术文件中有提及，整个模拟就是一个黑盒游戏，并没有任何规则可言，最终的评判准则只有净收益。虽然仿真模型与现实会有些差距，但对于这个单纯的游戏而言，先入为主的种植经验确实限制了我们的想象。而对于我这个正在朝着产品经理发展的野生程序猿而言，我正需要的就是这种想象和实践想象的能力，让我以胡适先生的一段话总结这次赛事的经验教训吧：</p>
<blockquote>
<p>大胆的假设，小心的求证。  &ndash; 胡适</p>
</blockquote>
<h2 id="muscle-壮志未酬-来年再战-muscle">&#x1f4aa; 壮志未酬，来年再战！&#x1f4aa;</h2>


  


<script src="/js/load-photoswipe.js"></script>


<link rel="stylesheet" href='//cdnjs.cloudflare.com/ajax/libs/photoswipe/4.1.3/photoswipe.min.css'/>
<link rel="stylesheet" href='//cdnjs.cloudflare.com/ajax/libs/photoswipe/4.1.3/default-skin/default-skin.min.css'/>
<script src='//cdnjs.cloudflare.com/ajax/libs/photoswipe/4.1.3/photoswipe.min.js'></script>
<script src='//cdnjs.cloudflare.com/ajax/libs/photoswipe/4.1.3/photoswipe-ui-default.min.js'></script>


<div class="pswp" tabindex="-1" role="dialog" aria-hidden="true">

<div class="pswp__bg"></div>

<div class="pswp__scroll-wrap">
    
    <div class="pswp__container">
      <div class="pswp__item"></div>
      <div class="pswp__item"></div>
      <div class="pswp__item"></div>
    </div>
    
    <div class="pswp__ui pswp__ui--hidden">
    <div class="pswp__top-bar">
      
      <div class="pswp__counter"></div>
      <button class="pswp__button pswp__button--close" title="Close (Esc)"></button>
      <button class="pswp__button pswp__button--share" title="Share"></button>
      <button class="pswp__button pswp__button--fs" title="Toggle fullscreen"></button>
      <button class="pswp__button pswp__button--zoom" title="Zoom in/out"></button>
      
      
      <div class="pswp__preloader">
        <div class="pswp__preloader__icn">
          <div class="pswp__preloader__cut">
            <div class="pswp__preloader__donut"></div>
          </div>
        </div>
      </div>
    </div>
    <div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap">
      <div class="pswp__share-tooltip"></div>
    </div>
    <button class="pswp__button pswp__button--arrow--left" title="Previous (arrow left)">
    </button>
    <button class="pswp__button pswp__button--arrow--right" title="Next (arrow right)">
    </button>
    <div class="pswp__caption">
      <div class="pswp__caption__center"></div>
    </div>
    </div>
    </div>
</div>


        ]]></description></item></channel></rss>