基于OpenCV+CNN+IOT+微信小程序智能果实采摘指导系统——深度学习算法应用(含python、JS工程源码)+数据集+模型(五)

这篇具有很好参考价值的文章主要介绍了基于OpenCV+CNN+IOT+微信小程序智能果实采摘指导系统——深度学习算法应用(含python、JS工程源码)+数据集+模型(五)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


基于OpenCV+CNN+IOT+微信小程序智能果实采摘指导系统——深度学习算法应用(含python、JS工程源码)+数据集+模型(五),深度学习,学习路线,无人机项目应用,神经网络,opencv,python,iot,微信小程序,tensorflow,javascript

前言

本项目基于Keras框架,引入CNN进行模型训练,采用Dropout梯度下降算法,按比例丢弃部分神经元,同时利用IOT及微信小程序实现自动化远程监测果实成熟度以及移动端实时监测的功能,为果农提供采摘指导,有利于节约劳动力,提高生产效率,提升经济效益。

本项目基于Keras框架,采用卷积神经网络(CNN)进行模型训练。通过引入Dropout梯度下降算法,实现了对神经元的按比例丢弃,以提高模型的鲁棒性和泛化性能。同时,利用物联网(IoT)技术和微信小程序,项目实现了自动化远程监测果实成熟度,并在移动端实时监测果园状态的功能。这为果农提供了采摘的实时指导,有助于节约劳动力、提高生产效率,从而提升果园经济效益。

首先,项目采用Keras框架构建了一个卷积神经网络,利用深度学习技术对果实成熟度进行准确的识别和预测。

其次,引入Dropout梯度下降算法,通过随机丢弃神经元的方式,防止模型过拟合,提高了对新数据的泛化能力。

接着,项目整合了物联网技术,通过传感器等设备对果园中的果实进行远程监测。这样,果农可以在不同地点远程了解果实的成熟度状况。

同时,通过微信小程序,果农可以实时监测果园状态,了解果实成熟度、采摘时机等信息,从而更加科学地安排采摘工作。

总体来说,该项目不仅在模型训练上引入了先进的深度学习技术,还通过物联网和微信小程序实现了智能化的果园管理系统,为果农提供了更加便捷、高效的农业生产解决方案。

总体设计

本部分包括系统整体结构图和系统流程图。

系统整体结构图

系统整体结构如图所示。

基于OpenCV+CNN+IOT+微信小程序智能果实采摘指导系统——深度学习算法应用(含python、JS工程源码)+数据集+模型(五),深度学习,学习路线,无人机项目应用,神经网络,opencv,python,iot,微信小程序,tensorflow,javascript

系统流程图

模型训练流程如图所示。
基于OpenCV+CNN+IOT+微信小程序智能果实采摘指导系统——深度学习算法应用(含python、JS工程源码)+数据集+模型(五),深度学习,学习路线,无人机项目应用,神经网络,opencv,python,iot,微信小程序,tensorflow,javascript

数据上传流程如图所示。

基于OpenCV+CNN+IOT+微信小程序智能果实采摘指导系统——深度学习算法应用(含python、JS工程源码)+数据集+模型(五),深度学习,学习路线,无人机项目应用,神经网络,opencv,python,iot,微信小程序,tensorflow,javascript

小程序流程如图所示。
基于OpenCV+CNN+IOT+微信小程序智能果实采摘指导系统——深度学习算法应用(含python、JS工程源码)+数据集+模型(五),深度学习,学习路线,无人机项目应用,神经网络,opencv,python,iot,微信小程序,tensorflow,javascript

运行环境

本部分包括Python环境、TensorFlow环境、JupyterNotebook环境、PyCharm环境、微信开发者工具和OneNET云平台。

Python环境

详见博客。

TensorFlow 环境

详见博客。

Jupyter Notebook环境

详见博客。

Pycharm 环境

详见博客。

微信开发者工具

详见博客。

OneNET云平台

详见博客。

模块实现

本项目包括本项目包括5个模块:数据预处理、创建模型与编译、模型训练及保存、上传结果、小程序开发。下面分别给出各模块的功能介绍及相关代码。

1. 数据预处理

以红枣为实验对象,在互联网上爬取1000张图片作为数据集。

详见博客。

2. 创建模型并编译

数据加载进模型之后,需要定义模型结构并优化损失函数。

详见博客。

3. 模型训练及保存

定义模型架构和编译之后,通过训练集训练,使模型可以识别红枣的成熟程度。这里将使用训练集和测试集来拟合并保存模型。

详见博客。

4. 上传结果

上传结果有两种方法:一是调用计算机摄像头拍摄图片,将图片信息转换为二进制数据流后上传至OneNET云平台;二是将数字图片输入Keras模型中,获取输出后将识别结果上传至OneNET云平台。

详见博客。

5. 小程序开发

微信小程序用于查看果实图片、获取采摘建议和查询识别结果。

1)查询图片

查询图片功能采用两重嵌套回调:第一层通过访问图片数据流获取图片的索引目录,传递给第二层;第二层使用图片索引目录访问图片数据流信息,得到图片的二进制数据流。为使图片能够在界面中显示,将二进制数据转换为Base64格式,用that.setData()函数将值传递给wxm文件,并在该函数中修改按钮上的keyword为"单击查看采收建议",实现按钮功能的切换。

//回调图片
send: function () {
    var that = this
    if (that.data.keyword=='单击查看你的果园'){
      //多重回调,两次
      const requestPicIndex = wx.request({
        url: 'https://api.heclouds.com/devices/586488389/datapoints?datastream_id=pic',
        header: {
          'content-type': 'application/json',
          'api-key': '93IlIl2tfXddMN8sgQIInc7qbXs='
        },
        success: function (res) {
      var picIndex=res.data.data.datastreams[0].datapoints[0].value.index
          console.log(res.data.data.datastreams[0].datapoints[0].value.index)
//打印图片索引目录;OneNet上图片的索引
          //嵌套的第二次回调
          const requestTask = wx.request({
            url: 'http://api.heclouds.com/bindata/' + picIndex,//图片url
            header: {
              'content-type': 'application/json',
              'api-key': 'RSKlDBtVrZ7qDWvK=b6IAyFi=Ow='
//master-apikey,可操控OneNET上所有东西
            },
            responseType: 'arraybuffer',//相应类型
            success: function (res) {
              console.log(res.data)      //打印返回中的data,res代表返回数据
              var data = res.data
              var base64 = wx.arrayBufferToBase64(res.data)
//二进制数据流转化成base64
              base64 = base64.replace(/[\r\n]/g, "") //删去换行符
              that.setData({
                imgUrl: 'data:image/PNG;base64,' + base64,
//能够显示图片base64的形式,传值给wxml
                keyword: '单击查看采收建议'//修改button功能为返回采收建议
              })
         console.log('http://api.heclouds.com/bindata/'+picIndex)//打印url
            },
            fail: function (res) {  //异常处理
              console.log("fail!!!")
            },
            complete: function (res) {
              console.log("end")
            }
          })
        },
        //回调失败则打印fail!!!
        fail: function (res) {
          console.log("fail!!!")
        },
        //回调完成打印图片url
        complete: function (res) {
          console.log("end")
        }
      })
    }
  }

2)查询识别结果

得到识别结果后进行一次数值判断:"0"代表未成熟,不适合采收;"1"代表半熟,为最佳采收时机;"2"代表完全成熟,需要尽快采收。通过that.setDataM()函数赋值给reM,显示采收建议。

//回调识别结果
else if (that.data.keyword=='单击查看采收建议'){
      const requestTask = wx.request({
        url: 'https://api.heclouds.com/devices/586488389/datapoints?datastream_id=rslt',  //识别结果的url
        header: {
          'content-type': 'application/json',
          'api-key': '93IlIl2tfXddMN8sgQIInc7qbXs='
        },
        success: function (res) {
          var app = getApp()
          app.globalData.Zao = res.data.data.datastreams[0]
          var a = app.globalData.Zao.datapoints[0].value
          console.log(app.globalData.Zao)
          //0代表未成熟,不适合采收;1代表半熟,最佳采收时机;2代表完全成熟,尽快采收
          if (a == 2) {
            console.log(a)
            that.setData({
              reM: '完全成熟,请尽快采收!'
            })
            console.log('reM:' + that.data.reM)
          }
          else if (a == 1) {
            console.log(a)
            that.setData({
              reM: '半熟,现在是最佳的采收时机'
            })
            console.log('reM:' + that.data.reM)
          }
          else if (a == 0) {
            console.log(a)
            that.setData({
              reM: '不成熟,还不能采收哦~'
            })
            console.log('reM:' + that.data.reM)
          }
        },
        //回调失败则打印fail!!!
        fail: function (res) {
          console.log("fail!!!")
        },
       //回调完成打印结果
        complete: function (res) {
          console.log("end")
        }
      })
    }

系统测试

本部分包括训练准确率、测试效果和外部访问效果。

1. 训练准确率

测试准确率达到88%左右,意味着这个预测模型训练比较成功。随着训练轮次的增多,模型在训练数据、测试数据上的损失和准确率逐渐收敛,最终趋于稳定,如图所示。

基于OpenCV+CNN+IOT+微信小程序智能果实采摘指导系统——深度学习算法应用(含python、JS工程源码)+数据集+模型(五),深度学习,学习路线,无人机项目应用,神经网络,opencv,python,iot,微信小程序,tensorflow,javascript

2. 测试效果

将测试集数据代入模型进行测试,并对分类标签与原始数据进行显示和对比,验证了该模型能够实现红枣三类成熟程度的识别。测试结果如图所示。

基于OpenCV+CNN+IOT+微信小程序智能果实采摘指导系统——深度学习算法应用(含python、JS工程源码)+数据集+模型(五),深度学习,学习路线,无人机项目应用,神经网络,opencv,python,iot,微信小程序,tensorflow,javascript

3. 外部访问效果

打开小程序,初始界面如图所示。

基于OpenCV+CNN+IOT+微信小程序智能果实采摘指导系统——深度学习算法应用(含python、JS工程源码)+数据集+模型(五),深度学习,学习路线,无人机项目应用,神经网络,opencv,python,iot,微信小程序,tensorflow,javascript

单击界面最上方的"登录"按钮可获得用户微信头像和昵称,如图所示。

基于OpenCV+CNN+IOT+微信小程序智能果实采摘指导系统——深度学习算法应用(含python、JS工程源码)+数据集+模型(五),深度学习,学习路线,无人机项目应用,神经网络,opencv,python,iot,微信小程序,tensorflow,javascript

单击界面中"单击查看你的果园"按钮,在按钮上方会出现果实图片,同时按钮上的文字变成"单击查看采收建议",如图所示。

基于OpenCV+CNN+IOT+微信小程序智能果实采摘指导系统——深度学习算法应用(含python、JS工程源码)+数据集+模型(五),深度学习,学习路线,无人机项目应用,神经网络,opencv,python,iot,微信小程序,tensorflow,javascript

单击"单击查看采收建议"按钮,在按钮下方出现果实成熟度信息和具体采收建议,如图所示。

基于OpenCV+CNN+IOT+微信小程序智能果实采摘指导系统——深度学习算法应用(含python、JS工程源码)+数据集+模型(五),深度学习,学习路线,无人机项目应用,神经网络,opencv,python,iot,微信小程序,tensorflow,javascript

移动端测试结果如图所示。

基于OpenCV+CNN+IOT+微信小程序智能果实采摘指导系统——深度学习算法应用(含python、JS工程源码)+数据集+模型(五),深度学习,学习路线,无人机项目应用,神经网络,opencv,python,iot,微信小程序,tensorflow,javascript

相关其它博客

基于OpenCV+CNN+IOT+微信小程序智能果实采摘指导系统——深度学习算法应用(含python、JS工程源码)+数据集+模型(一)

基于OpenCV+CNN+IOT+微信小程序智能果实采摘指导系统——深度学习算法应用(含python、JS工程源码)+数据集+模型(二)

基于OpenCV+CNN+IOT+微信小程序智能果实采摘指导系统——深度学习算法应用(含python、JS工程源码)+数据集+模型(三)

基于OpenCV+CNN+IOT+微信小程序智能果实采摘指导系统——深度学习算法应用(含python、JS工程源码)+数据集+模型(四)

工程源代码下载

详见本人博客资源下载页


其它资料下载

如果大家想继续了解人工智能相关学习路线和知识体系,欢迎大家翻阅我的另外一篇博客《重磅 | 完备的人工智能AI 学习——基础知识学习路线,所有资料免关注免套路直接网盘下载》
这篇博客参考了Github知名开源平台,AI技术平台以及相关领域专家:Datawhale,ApacheCN,AI有道和黄海广博士等约有近100G相关资料,希望能帮助到所有小伙伴们。文章来源地址https://www.toymoban.com/news/detail-776205.html

到了这里,关于基于OpenCV+CNN+IOT+微信小程序智能果实采摘指导系统——深度学习算法应用(含python、JS工程源码)+数据集+模型(五)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于微信小程序智能停车场系统(微信小程序毕业设计)

    项目获取请看文章最底下官网 基于微信小程序智能停车场系统,后台采用ssm框架,java编程语言,mysql数据库制作;本系统主要分为用户和管理员两个角色;用户的主要功能有,注册和登陆系统,查看系统公告,在线预约车位,交流评论,查看地图,在线导航,发布帖子交流;

    2023年04月16日
    浏览(64)
  • 基于微信小程序的智能招聘小程序

    文末联系获取源码 开发语言:Java 框架:ssm JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7/8.0 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven3.3.9 浏览器:谷歌浏览器 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序运行软件:微信开发者 进入21世纪网络和

    2024年02月09日
    浏览(49)
  • 微信小程序 |基于Flask框架实现智能菜谱小程序

    每次去饭店吃好吃的,你有没有遇到过一两个让你觉得很想学会做的菜品,这个时候又不好直接去问厨师,又奈何自己的手艺不行! 所以,就算我们不知道,但我们总会有办法知道,于是我选择让 AI 这位大厨告诉我! 直接通过拍照识别你想要知道的菜品,就能知道其制作的

    2023年04月08日
    浏览(55)
  • 基于Spring Boot和微信小程序的智能小程序商城

    🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 基于Spring Boot和微信小程序的智能小程序商城,java项目。 eclipse和idea都能打开运行。 推荐环境配置:eclipse/idea jdk1.8 maven

    2024年02月03日
    浏览(56)
  • 基于微信小程序的智能社区服务小程序,附源码

    博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w+、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅 文末获取源码联系 🍅 👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟 2022-2024年最全的计算机软件毕业设计选

    2024年02月19日
    浏览(41)
  • 基于微信小程序的智能推荐点餐系统

    摘  要 在社会高速发展的过程中,计算机系统在社会生产的过程中大量应用,并且随着相关技术的高速发展,这一过程在不断加速。因此,将智能推荐点餐系统管理与当前的网络相结合,利用计算机构建以微信小程序为基础的智能推荐点餐系统,从而实现智能推荐点餐系统的

    2024年02月07日
    浏览(33)
  • 基于STM32设计的智能饮水机(微信小程序)

    随着社会科技的快速发展以及人们对健康生活品质追求的提升,饮水设备已经从传统单一功能的开水器向智能化、多功能化的方向转变。智能饮水机作为家庭与办公环境中的重要组成部分,其市场需求日益增长,用户期待能实时监测水质、精确控制水温和水量,并实现远程操

    2024年02月01日
    浏览(39)
  • 基于微信小程序的智能垃圾分类回收系统,附源码、教程

    博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W+、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 视频演示地址: 基于微信小程序的智能垃圾分类回收系统,可作为毕业设计 小程序页面及功能作如下设计: 1 .用户

    2024年02月09日
    浏览(52)
  • 毕业设计-基于微信小程序的智能垃圾分类回收系统

    博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W+、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 视频演示地址: 基于微信小程序的智能垃圾分类回收系统,可作为毕业设计 小程序页面及功能作如下设计: 1 .用户

    2024年02月07日
    浏览(66)
  • “微天气” - 一个基于微信小程序的智能天气预报体验

    微信小程序是一种不用下载就能使用的应用,也是一项创新,经过将近两年的发展,已经构造了新的微信小程序开发环境和开发者生态。微信小程序也是这么多年来中国IT行业里一个真正能够影响到普通程序员的创新成果,已经有超过150万的开发者加入到了微信小程序的开发

    2024年02月09日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包