Эффективно повторять изображение с Python - PullRequest
0 голосов
/ 19 апреля 2020

для моего FYP я построил алгоритм обнаружения сорняков на основе VGG16 net на керасах, обучен и протестирован на изображениях 6000X4000 RGB. Модель показывает довольно хорошие результаты, хотя у меня возникают проблемы с обнаружением каждого сорняка на изображении в RT. Прямо сейчас я делю изображение на плитки размером 100X100 и делаю прогнозы для каждой плитки и закрашиваю ее белым цветом. Я хотел бы знать, есть ли способ итерировать изображение быстрее, без увеличения размера плитки или уменьшения разрешения изображения. код обнаружения:

'' '

def paint_weeds(img):
  height, width, channels = img.shape
  tile_width = 100
  tile_height = 100
  for x in range(int(width/tile_width)):
    for y in range(int(height/tile_height)):      
      tile = img[y*tile_height:(y+1)*tile_height-1,x*tile_width:(x+1)*tile_width-1]
      tile = preprocess([tile])
      if model.predict(tile)>0.95:
        img[y*tile_height:(y+1)*tile_height-1,x*tile_width:(x+1)*tile_width-1] = 255 
  return img

' ''

...