для моего 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
' ''