Обнаружение объектов с использованием YOLO для различных точек на дюйм изображения - PullRequest
0 голосов
/ 21 декабря 2018

Я пытаюсь обучить YOLOV2 на объектах электрического домена.Как трансформатор, распределительные щиты и т. Д. enter image description here Я обучил несколько объектов с разрешением 200 DPI.Когда я запускаю модель с тестовым набором изображений, это дает мне хорошую точность (0,94), но при тестировании с другим DPI (300 DPI) модель не может найти никаких объектов.

Объекты, которые используются для обучения:

enter image description here

Что мне здесь не хватает?Нужно ли тренировать модель со всеми возможными значениями DPI?

Примечание. Я прекратил обучение, когда получил 0,2 коэффициента потерь.Обучено на 98 изображений.333 аннотации.

Пожалуйста, дайте мне знать, если я смогу использовать другие методы машинного обучения для обнаружения небольших объектов, как описано выше.

1 Ответ

0 голосов
/ 09 января 2019

Я думаю, это связано с тем, что большие изображения уменьшаются до размеров фиксированного размера, например, 416x416, так что их можно подавать на вход YOLOv2.Если мы уменьшаем изображение, иногда тонкая ложь исчезает с исходного изображения.

Позвольте мне продемонстрировать с помощью cv2.resize () :

import numpy as np
import matplotlib.pyplot as plt
import cv2
# for i in range(10):plt.close()

img_original = np.zeros((100, 100, 3)) # 100 x 100 RGB Black image
img_original[::10, :, :] = 255 # add some white lines

img_resized = cv2.resize(img_original, (10, 10)) # resize into 10 x 10 RGB

fig = plt.figure(figsize=(6, 3))
ax1 = fig.add_subplot(121)
ax1.imshow(img_original)
plt.xlabel('Original 100 x 100')
ax2 = fig.add_subplot(122)
ax2.imshow(img_resized)
plt.xlabel('Resized 10 x 10')
fig.savefig('./demo.jpg')
plt.show()

enter image description here

...