Как ускорить увеличение данных изображений

1

Я работаю над расширением данных, используя opencv2 в python. Набор данных, который я использую, состоит из около 4000 изображений 96х96 одноканальных изображений.

Я применяю серию аффинных преобразований перевода и масштабирования с использованием cv2.warpAffine. Однако я заметил, что по мере повторения кода через набор данных процесс становится медленнее и медленнее. Код поворотного преобразования ниже - я называю это на каждом изображении.

def augment_rotation(depth):
augment_rotate = []
rows,cols = depth.shape
for i in range(-180,181):
    M = cv2.getRotationMatrix2D(((cols-1)/2.0,(rows-1)/2.0),i,1)
    augment_rotate.append(cv2.warpAffine(depth,M,(cols,rows)))
return augment_rotate

Это не ограничивается моим компьютером, поскольку я пробовал его на других компьютерах и имел ту же проблему. Любая идея, как решить эту проблему или сделать ее быстрее, поэтому мне не нужно ждать часов, чтобы выполнить аугментацию?

  • 0
    Вы храните дополненные изображения на вашем локальном жестком диске?
  • 0
    Да, дополненные изображения травятся после того, как изображения увеличены
Теги:
opencv
computer-vision

1 ответ

0

Я наткнулся на встроенный питон библиотеки joblib. Он предназначен для этой цели. В соответствии с документом joblib помогает выполнять циклы параллельно, используя библиотеку multiprocessing в бэкэнд.

Документы иллюстрируют численный пример для выполнения простых математических операций для параллельного списка чисел. Я смог расширить эту функциональность до обработки изображений. В качестве примера демо я решил выполнить взвешенную сумму всех изображений на моем рабочем столе с и без joblib.

Оказывается, что для 14 изображений коллективного размера 58 Мб я получил следующее:

('Using Joblib : ', 0.09400010108947754)
('Without Joblib : ', 15.386000156402588)

Вот запись для ответа, который я написал недавно. Я уверен, что вы можете использовать его и для аугментации!

Попробуйте и дайте мне знать, как это работает!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню