Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error with shadows #17

Open
ll2pakll opened this issue Dec 13, 2021 · 6 comments
Open

Error with shadows #17

ll2pakll opened this issue Dec 13, 2021 · 6 comments

Comments

@ll2pakll
Copy link

ll2pakll commented Dec 13, 2021

Hi, I occasionally get this error when I use A.RandomShadow(p=0.5). If I disable this augmenter in the conveyor, the error does not appear anymore. What can it be related to?

File "C:\Users****\anaconda3\envs\python_torch\lib\site-packages\albumentations\augmentations\functional.py", line 915, in add_shadow
cv2.fillPoly(mask, vertices, 255)
cv2.error: OpenCV(4.5.4) 👎 error: (-5:Bad argument) in function 'fillPoly'
Overload resolution failed:

  • Layout of the output array img is incompatible with cv::Mat
  • Expected Ptrcv::UMat for argument 'img'
@ternaus
Copy link
Collaborator

ternaus commented Dec 13, 2021

Hi. Is it possible that you provide an example that could be reproduced?

You may use Replay/Compose functionality to get the reproducibility.

@ll2pakll
Copy link
Author

мы можем говорить по русски?
Мне прислать видео или прислать пакет с кодом где я это всё запускаю?

@Dipet
Copy link
Collaborator

Dipet commented Dec 15, 2021

Просто приведите кусок кода в коментарии с помощью которого можно воспроизвести проблему.
Что-то вроде такого:

import albumentations as A
import numpy as np
import random
import matplotlib.pyplot as plt

random.seed(0)
np.random.seed(0)

transform = A.Compose([A.RandomShadow(p=1)])

image = np.full([100, 100, 3], 255, dtype=np.uint8)
res = transform(image=image)["image"]
plt.imshow(res)
plt.show()

@ll2pakll
Copy link
Author

Не получится просто прислать часть кода, потому что там большой пакет, зависимый от датасетов, так что надо и датасет и пакет присылать и показывать как им пользоваться. Ошибка возникает только в процессе обучения нейросети, если запускать аугументатор отдельно, то ошибка эта не возникает. Я могу снять видео где покажу структуру пакета, и то при каких обстоятельствах возникает ошибка, а вы как программисты (я не программист), уже сможете указать какие именно части пакета прислать. Либо можно просто забыть об этом, потому что тени конечно хорошая идея, но я могу обойтись и без них.

@Dipet
Copy link
Collaborator

Dipet commented Dec 15, 2021

Нет, так мы точно не поможем.
Просто поставтье try .. except в этом месте и сохраните трансформы через A.save(transform, "file_path") и сохраните изображение рядом. Можно использовать ReplayCompose чтобы дополнительно сохранить на каких параметрах всё падает.
Но почти навярняка проблема в том, что изображение имеет неправильный тип данных.

@ll2pakll
Copy link
Author

Вполне возможно, тут в изображения прописаны метаданные - то бишь там хранятся и метки и предикт, сделано это при помощи пакета из DFL, такие изображения спокойно открываются везде, но разумеется там есть места в коде самого изображения, которые отличаются от обычных изображений. Но ошибка с ними возникает только в случае с shadow. Совет с try exept, можно попробовать, спасибо за помощь

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants