毕业前最后的作品——智农服务管理

前言

这个作品贯穿我了的研究生生涯,是我最满意的作品,每一部分都是我在做其他项目的时候迭代更新出来的,对我意义很大,他囊括了我这个菜鸡在研究生期间所学的全部内容。
我想在这个社区分享这个作品的主要原因是,我想在我喜欢的平台上分享我喜欢的东西~

需求分析

需要做一个系统去解决农资公司在农资配送过程中所遇到的问题,其中包括本地配方单的归档整理、提高农资配送服务的效率、完善农作物病虫害识别等等

角色

这个项目主要涉及以下几个角色

  • 技术总监:该系统权限最高的角色

  • 技术员:负责到一线去进行农技指导的基层工作人员

  • 库管员:负责库房管理以及出库操作

  • 农户(以后的新角色):可以通过小程序中的病害识别功能对自己的作物进行诊断并获得相关的配方单

  • 游客:仅仅是在小程序中浏览的靓仔

功能需求

整体的功能模块如图

o0j7vVSmo5.png!large

根据不同的用户和使用场景对系统进行划分,具体如下

  • 技术总监:为系统的核心用户,主要负责员工管理、基础数据管理、基地管理、农作物病虫害图像识别管理、维护通用亩标准配方和本地亩标准配方、为片区分配技术员进行农技服务等相关工作;
  • 技术员:主要通过PC端与小程序端进行农资配送服务,负责农户种植情况、作物病害详情、配方单开具、农作物病虫害图像识别;
  • 库管员:主要负责化肥与农药的入库管理、配方单出库管理。

其中核心流程是:

4UsFLt8W8o.png!large

① 技术员去到现场为农户进行农资配送服务 ,根据情况开具相关的配方单;

② 技术总监审对配方单进行审核查改,根据需要对配方单进行增删改并通过审核,审核通过后生成出库单;

③ 库管员对配方单进行出库操作。

系统展示

授权与登录

当涉及到数据操作的时候需要进行登录后才能继续操作

y6VEKZdDcE.gif!large

也可以通过个人中心模块进行登录

A3hGlCuwvK.gif!large

可能大家会好奇 为什么我要放这个登录,这么简单,因为我觉得授权这个弹窗样式是我写这个小程序里面最漂亮的了

:joy:

配方单开具

这是该项目的核心流程之一
技术员可以通过小程序端查看已开具的配方单详情

BxTyFj8hOj.gif!large

点击开具配方按钮进入配方单开具页面

TmPB1fKfJ0.gif!large

技术员可以通过点击跳转农户搜索页面进行农户的选择,然后选择相关配方并根据情况对农资数量进行增删改,最后提交至服务端。 这里加了小小的一个定时器,就是在输入关键字进行查询农户名称的时候,隔1s再去请求,防止每输入一个字就请求一次。

毕业前最后的作品——智农服务管理

技术总监可以通过左侧所在地目录树进行农户筛选,然后对刚刚技术员开具的配方单进行审核,同时也可以根据实际情况去对物资进行修改,修改完成后就可审核通过。审核通过后就会形成相应的出库单。
毕业前最后的作品——智农服务管理
之后农户可以到指定营业点,提供相应的身份信息后,出库员可以对出库单进行出库。

病害详情

该模块就是技术员可以在进行工作的时候,采集作物病害素材,也是该项目数据集的主要来源之一(其他数据集来自Kaggle、ImageNet等等公开数据集)

IGK1bmx2q5.gif!large

通过点击添加病害详情按钮跳转至病害详情添加页面

2VFYY9CVZD.gif!large

作物病害图像识别

这是我花心思最多的地方了,但是界面有点丑(=。=)

Nxl448SBvE.gif!large

可以看到,这个图片的识别结果是炭疽病,识别出来后可以点击获取相应的配方推荐,然后跳转至开具配方页面,这样也可以快速的对病害进行配方开具 如果识别结果是健康的话,则不会跳出配方推荐按钮

lvqn1QREwX.gif!large

(PS:以上的识别过程我加快了一些,因为自己的电脑跑识别确实太慢了,裂开) 其实这个功能以后的使用者是农户,让农户自己进行诊断并获取相应的农资配方,目前的话是希望技术员边用边测试,这样模型权重文件的鲁棒性可以得到增强,稳定后再让农户使用。 这个功能的实现流程如下图所示

S29UXf3lBj.png!large

用户上传图片后,先由PHP将图片存储至指定目录(后续可以用作训练集),然后在执行一个脚本文件

毕业前最后的作品——智农服务管理

将图片以参数的形式传给YOLOv3进行识别,识别后再返回结果。

这块确实是花了很多精力,为了能把YOLOv3可以放到应用上,又是看作者的GitHub,又是边看边改源码,最后终于还是让我搞出来了 (T _ T)

农户基础信息

毕业前最后的作品——智农服务管理

总结

Q1:为什么识别率那么高

首先要感谢YOLO的作者,真的很厉害,而且YOLO支持多目标、小目标的检测
毕业前最后的作品——智农服务管理
识别率高主要有以下几点,目前我准备的识别类别只有3种,其次我识别的目标都占整张图片的3/4这样,因此识别率会高一些,后期随着待识别的类别增加,小目标与不规则目标的增加,识别率可能会受到一定的影响,所以还需要多多测试和验证。革命尚未成功 同志仍需努力呀!

Q2:为什么脚本文件执行的是本地的YOLOv3

首先,这次因为特殊原因,我没办法回校把老师给我们团队买的GTX 2080Ti部署成GPU服务器,而且,我租不起GPU服务器,太贵了,穷学生消费不起呀 (T _ T)
所以只能用我自己的破烂笔记本先跑一跑测试了,我也知道执行脚本文件不太好,后面会研究着把YOLOv3封装成一个服务去访问的

Q3:gif怎么制作的

我用的pr+傲软/ev录屏 结合使用噢~
(但是我发现我gif做完太大了,虽然还是压缩了很多,但还是会有点大,如果对各位带来麻烦,我深感抱歉,我错了,下次我还敢:stuck_out_tongue_closed_eyes:

结束语

因为这个文章的主角是小程序,因此服务端的我就没放那么多图片了,其实这个项目也比较复杂,我自己一个搞了很久,还需要多多测试,因此这个作品目前还在测试阶段,做完的时候也是感慨颇深,特别是前端很多布局都是参考其他人的网站,然后摸索着实现里面的jQuery,虽然还不是很厉害,但是我觉得对于我来说,每次一点点的进步,我都非常满足 O(∩_∩)O

然后也是把这个小程序报名参加了腾讯官方的小程序比赛,这算是对我这个作品最好的结尾了,也是我毕业前对腾讯最后的痴心妄想了~

最后非常感谢这个社区,陪伴了本科到研究生的学生生涯,这里的教程和文章在前期给予我莫大的帮助,这里的大佬讲话又好听,技术又好,超喜欢这里的~

本帖已被设为精华帖!
本帖由系统于 5个月前 自动加精
RuanZzzz
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 42

可以的

5个月前 评论
RuanZzzz (楼主) 5个月前

一条龙都是自己搞 :+1:

5个月前 评论
RuanZzzz (楼主) 5个月前

:+1:

5个月前 评论
RuanZzzz (楼主) 5个月前
ly560020

:+1:

5个月前 评论
RuanZzzz (楼主) 5个月前

:+1:

5个月前 评论
RuanZzzz (楼主) 5个月前

:+1:

5个月前 评论
RuanZzzz (楼主) 5个月前

厉害了 :+1:

5个月前 评论
RuanZzzz (楼主) 5个月前

:+1:

5个月前 评论
RuanZzzz (楼主) 5个月前

:+1:

5个月前 评论
RuanZzzz (楼主) 5个月前

我觉得做的很好,作者可分享一下YOLOv3的使用经验吗

5个月前 评论
RuanZzzz (楼主) 5个月前
jenkincei

厉害了,好学弟

5个月前 评论
RuanZzzz (楼主) 5个月前

别人家的毕业作品 :+1:

5个月前 评论
RuanZzzz (楼主) 5个月前

想法不错,可以继续扩展到全农业平台,进行分类管理

5个月前 评论
RuanZzzz (楼主) 5个月前

厉害 :+1:

5个月前 评论
RuanZzzz (楼主) 5个月前

完整的看了下来,很有启发,尤其是利用人工智能作物病害识别那部分很感兴趣。当初我自学机器学习的时候半途而废了,卡在数学上了,认为数学公式太复杂了。。。哎 我想问下楼主,完成图片识别那部分需要设计的数学知识多吗?基本包含哪些高等数学啊? :neutral_face:

5个月前 评论
RuanZzzz (楼主) 5个月前
Enzo_Lwb (作者) 5个月前
RuanZzzz (楼主) 5个月前

研究生大佬

5个月前 评论
RuanZzzz (楼主) 5个月前
Epona

👍

5个月前 评论
RuanZzzz (楼主) 5个月前

开源吗 :joy:

5个月前 评论
RuanZzzz (楼主) 5个月前
Linxb

前面感觉平平无奇,研究生就这?就这?看到最后,大佬,收下我的膝盖 :+1:

5个月前 评论
RuanZzzz (楼主) 5个月前

可以的话,demo版本的分享一下,一起学习研究探讨

5个月前 评论
RuanZzzz (楼主) 5个月前
PHPer技术栈 (作者) 5个月前
RuanZzzz (楼主) 5个月前

six

5个月前 评论
RuanZzzz (楼主) 5个月前

卖源码吗?

5个月前 评论
RuanZzzz (楼主) 5个月前

捕捉野生软神一只

5个月前 评论
RuanZzzz (楼主) 5个月前
人厶八夂 (作者) 5个月前
RuanZzzz (楼主) 5个月前
人厶八夂 (作者) 5个月前
RuanZzzz (楼主) 5个月前

看了一下YOLO,大概只需要把图片输入给darknet识别,它会返回一系列的结果 但是没学过C :joy:不知道怎么跟PHP之间交互的,这段没搞懂,这就蛋疼了

5个月前 评论
RuanZzzz (楼主) 5个月前

作品呢?代码呢?可以欣赏一下吗

5个月前 评论

可以的,整个流程分析有,功能展示也有,后续可以再扩展,很有发展潜力的!加油,共勉!

5个月前 评论
RuanZzzz (楼主) 5个月前

大佬 你要早点发出来我就当作毕设了 没准还能弄个优秀

5个月前 评论

大写的666 :+1:

4个月前 评论

您好,看了您几篇文档,很厉害。您做这个作品有发布github之类的么?我是个初入laravel的coder,因为最近面试老被问对这个框架是否生生产使用,恰好看到您的这篇,先学习下代码

3个月前 评论
RuanZzzz (楼主) 3个月前
jiechengyang (作者) 3个月前

优秀啊 大兄弟

3个月前 评论

很完整的项目,从服务端 到 客户端 看起来很舒服,再美化美化 UI 就能商用了,哈哈哈

3个月前 评论
RuanZzzz (楼主) 3个月前
北冥

有时间可以把YOLO用php封装一下,发个github,应该是个不错的项目

3个月前 评论
RuanZzzz (楼主) 3个月前

大佬厉害,关注了,顺便问下,后台是laravel开发的吗

3个月前 评论
RuanZzzz (楼主) 3个月前

推荐你用laravel-admin做管理后台 效率极高 啪啪啪就把隔壁java的系统给换掉了

3个月前 评论
RuanZzzz (楼主) 3个月前
hikki (作者) 3个月前

可以开源下嘛?学习下

3个月前 评论

出来 可以搬砖很厉害了

3个月前 评论

很强了 但我更想要这个头像 :grinning:

file

1个月前 评论

楼主好强!

1个月前 评论
szclasslink

:+1:

6天前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!