• 星瞳AI VISION软件内测!可以离线标注,训练,并生成OpenMV的模型。可以替代edge impulse https://forum.singtown.com/topic/8206
  • 我们只解决官方正版的OpenMV的问题(STM32),其他的分支有很多兼容问题,我们无法解决。
  • 如果有产品硬件故障问题,比如无法开机,论坛很难解决。可以直接找售后维修
  • 发帖子之前,请确认看过所有的视频教程,https://singtown.com/learn/ 和所有的上手教程http://book.openmv.cc/
  • 每一个新的提问,单独发一个新帖子
  • 帖子需要目的,你要做什么?
  • 如果涉及代码,需要报错提示全部代码文本,请注意不要贴代码图片
  • 必看:玩转星瞳论坛了解一下图片上传,代码格式等问题。
  • Person_Detection(例程25),换用自己的模型,发现内存超了,请问这个是SRAM超了还是Flash超了呢?



    • 0_1655993123843_3309199b-3f6f-4cc6-9464-3b46e2fb2c9a-image.png
      按理来说531kb肯定是能部署的呀。。
      0_1655993206385_e39a0e9f-0a53-472f-b819-25ab219a1fd0-image.png
      下面是我的代码
      0_1655993246010_a503794a-e699-4875-adb4-14e63ef2a285-image.png
      我的设备是H7 Plus



    • 你发一下模型文件,和代码文本。我测试一下。



    • 如果你要自己训练的话,参考这个代码:

      https://github.com/SingTown/openmv_tensorflow_training_scripts



    • @kidswong999

      # TensorFlow Lite 人检测例程
      #
      # Google的“人检测模型”会检测到是否有人。
      #
      # 在此示例中,我们将探测器窗口滑到图像上方,并获取激活列表。
      # 请注意,使用带有滑动窗口的CNN计算极为复杂,因此对于详尽搜索,不要期望CNN是实时的。
      
      import sensor, image, time, os, tf
      
      sensor.reset()                         # 复位并初始化传感器。
      
      sensor.set_pixformat(sensor.GRAYSCALE) # Set pixel format to RGB565 (or GRAYSCALE)
      #设置图像色彩格式,有RGB565色彩图和GRAYSCALE灰度图两种
      
      sensor.set_framesize(sensor.QVGA)      # 将图像大小设置为QVGA (320x240)
      
      sensor.set_windowing((240, 240))       # 设置240x240窗口。
      sensor.skip_frames(time=2000)          # 等待一段时间,让相机设置生效。
      
      # 加载内置的人检测神经网络模型(该网络位于OpenMV Cam的固件中)。
      net = tf.load('mcunet-10fps_vww.tflite')
      labels = ['unsure', 'person', 'no_person']
      
      clock = time.clock()
      while(True):
          clock.tick()
      
          img = sensor.snapshot()
      
          # net.classify()将在图像的roi上运行网络(如果没有指定roi,则在整个图像上运行)
          # 将为每个位置生成一个分类得分输出向量。
          # 在每个比例下,检测窗口都以x_overlap(0-1)和y_overlap(0-1)为指导在ROI中移动。
          # 如果将重叠设置为0.5,那么每个检测窗口将与前一个窗口重叠50%。
          # 请注意,重叠越多,计算工作量就越大。
          # 最后,对于在网络沿x/y方向滑动后的多尺度匹配,检测窗口将由scale_mul(0-1)缩小到min_scale(0-1)。
          # 下降到min_scale(0-1)。例如,如果scale_mul为0.5,则检测窗口将缩小50%。
          # 请注意,如果x_overlap和y_overlap较小,则在较小的比例下可以搜索更多区域...
      
          # 默认设置只是进行一次检测...更改它们以搜索图像...
          for obj in net.classify(img, min_scale=1.0, scale_mul=0.5, x_overlap=0.0, y_overlap=0.0):
              print("**********\nDetections at [x=%d,y=%d,w=%d,h=%d]" % obj.rect())
              for i in range(len(obj.output())):
                  print("%s = %f" % (labels[i], obj.output()[i]))
              img.draw_rectangle(obj.rect())
              img.draw_string(obj.x()+3, obj.y()-1, labels[obj.output().index(max(obj.output()))], mono_space = False)
          print(clock.fps(), "fps")
      


    • @fg51 链接:https://pan.baidu.com/s/1gCFY_z9iWgwQfumQRm6LXQ
      提取码:0bxs
      --来自百度网盘超级会员V5的分享

      这是模型文件,我没有权限直接上传文件。



    • @kidswong999 好的 我研究一下



    • 这个模型我们之前在我们自己的STM32F7的板子上都能部署成功,按理说用H7 Plus应该没有问题的呀