• 免费好用的星瞳AI云服务上线!简单标注,云端训练,支持OpenMV H7和OpenMV H7 Plus。可以替代edge impulse。 https://forum.singtown.com/topic/9519
  • 我们只解决官方正版的OpenMV的问题(STM32),其他的分支有很多兼容问题,我们无法解决。
  • 如果有产品硬件故障问题,比如无法开机,论坛很难解决。可以直接找售后维修
  • 发帖子之前,请确认看过所有的视频教程,https://singtown.com/learn/ 和所有的上手教程http://book.openmv.cc/
  • 每一个新的提问,单独发一个新帖子
  • 帖子需要目的,你要做什么?
  • 如果涉及代码,需要报错提示全部代码文本,请注意不要贴代码图片
  • 必看:玩转星瞳论坛了解一下图片上传,代码格式等问题。
  • 在Edge Impuse上生成的神经网络模型只能全屏识别物品。怎么样可以像模板识别一样用小一点的矩形框选出识别到的物品



    • 在Edge Impuse上生成的神经网络模型只能全屏识别物品。怎么样可以像模板识别一样用小一点的矩形框选出识别到的物品
      这里附上生成的代码:# Edge Impulse - OpenMV Image Classification Example

      import sensor, image, time, os, tf, uos, gc
      flag=0
      a=0
      b=0
      pre=0
      sensor.reset() # Reset and initialize the sensor.
      sensor.set_pixformat(sensor.RGB565) # Set pixel format to RGB565 (or GRAYSCALE)
      sensor.set_framesize(sensor.QVGA) # Set frame size to QVGA (320x240)
      sensor.set_windowing((240, 240)) # Set 240x240 window.
      sensor.skip_frames(time=2000) # Let the camera adjust.
      from pyb import UART
      net = None
      labels = None
      uart = UART(3, 115200)
      while(True):
      #a=uart.read()
      #if a==b'o' :
      try:
      # load the model, alloc the model file on the heap if we have at least 64K free after loading
      net = tf.load("trained.tflite", load_to_fb=uos.stat('trained.tflite')[6] > (gc.mem_free() - (64*1024)))
      except Exception as e:
      print(e)
      raise Exception('Failed to load "trained.tflite", did you copy the .tflite and labels.txt file onto the mass-storage device? (' + str(e) + ')')

          try:
              labels = [line.rstrip('\n') for line in open("labels.txt")]
          except Exception as e:
              raise Exception('Failed to load "labels.txt", did you copy the .tflite and labels.txt file onto the mass-storage device? (' + str(e) + ')')
      
          clock = time.clock()
          while(True):
              clock.tick()
      
              img = sensor.snapshot()
      
              # default settings just do one detection... change them to search the image...
              for obj in net.classify(img, min_scale=1.0, scale_mul=0.8, x_overlap=0.5, y_overlap=0.5) :
                  print("**********\nPredictions at [x=%d,y=%d,w=%d,h=%d]" % obj.rect())
                  img.draw_rectangle(obj.rect()) #, roi=(10, 0, 60, 60))
                  # This combines the labels and confidence values into a list of tuples
                  predictions_list = list(zip(labels, obj.output()))
      
                  for i in range(len(predictions_list)):
                      print("%s = %f" % (predictions_list[i][0], predictions_list[i][1]))
      
              if predictions_list[0][1]>0.85:
                  flag=1
      
              elif predictions_list[1][1]>0.85:
                  flag=2
      
              elif predictions_list[0][1]<0.85 and predictions_list[1][1]<0.85:
                  flag=3
              if pre!=flag:
                  b=0
                  pre=flag
              if flag==1:
                  if b<=2:
                      uart.write("z1")
                      b+=1
                  
              if flag==2:
                  if b<=2:
                      uart.write("z2")
                      b+=1
                  
              if flag==3:
                  if b<=2:
                      uart.write("g")
                      b+=1
             print(clock.fps(), "fps")
      

      求大佬解答



    • 最近会发布edge impulse使用FOMO目标点检测的视频。