Перейти к содержимому
Compvision.ru

mrgloom

Пользователи
  • Количество публикаций

    2 302
  • Зарегистрирован

  • Посещение

  • Days Won

    142

Все публикации пользователя mrgloom

  1. Есть какой то готовый тул для разметки кругами и элипсами? Желательно: 1. Поддержка больших изображений. 2. Чтобы работало на линуксе и винде.
  2. Есть еще задача которая называется person reidentification
  3. Датасеты в тему http://vc.ee.duth.gr/dibco2017/
  4. Какого качества камеру надо чтобы нормально 'увидеть эффект'?
  5. laplacian, хотя наверно и другие подойдут. google -> laplacian focus measure
  6. Можно отсюда попробовать https://imagej.net/Auto_Threshold
  7. Чем то похоже https://www.kaggle.com/c/data-science-bowl-2018 Сколько у вас картинок? Есть ли разметка?
  8. Тренировка (haar cascade training)

    > детектор автомобильных номеров на классификаторе из dlib А из коробки есть?
  9. Да, можно даже искуственно нагенерить таких картинок и предсказывать например матрицу перспективного искажения 3x3 вытянутую в вектор, т.е. решаем задачу как регрессию и предсказываем 9 чисел.
  10. Еще немного в другую сторону(про просмотр затайленых карт/изображений): Помниться как то пробовал запустить это на базе polymaps и flask, но из коробки не заработало вроде: https://github.com/DmitryUlyanov/large-image-viewer И еще проект на который он ссылается(не пробовал): https://github.com/ebenolson/kaggle-ndsb-visualization Еще: https://github.com/klokantech/iiifviewer https://openseadragon.github.io/ https://annotorious.github.io/ И судя по списку https://github.com/lovasoa/dezoomify#supported-zoomable-image-formats существует много форматов и вьюверов. Еще типа terrapattern: https://github.com/gakarak/AirBaseMarking http://www.terrapattern.com https://github.com/CreativeInquiry/terrapattern
  11. Есть ли какие то похожие тулы, а то свой велосипед не хочется писать. ClusterTag: Interactive Visualization, Clustering and Tagging Tool for Big Image Collections http://delivery.acm.org/10.1145/3080000/3079018/p112-pogorelov.pdf?ip=195.239.134.130&id=3079018&acc=OA&key=4D4702B0C3E38B35.4D4702B0C3E38B35.4D4702B0C3E38B35.64DFBF5EFE36E0A2&CFID=849769676&CFTOKEN=62449524&__acm__=1515578108_aca3aef562017e4ee61fee9656e94828 код на java https://bitbucket.org/mpg_projects/clustertag
  12. https://blog.deepsense.ai/deep-learning-for-satellite-imagery-via-image-segmentation/ Похоже на правду что и unet'ом можно мелкие линии.
  13. https://deepsystems.ai/works/deeplearning/airport-defects-detection Есть идеи как можно решить данную задачу с помощью CNN etc. Есть работы связанные с edge, но это вроде не совсем то. https://github.com/gitlim/SketchTokens https://github.com/s9xie/hed https://github.com/pdollar/edges
  14. Как вариант: 1. Сдетектировать объект. 2. Обучить CNN на определение скейла и поворота как регрессию. p.s. конкретный пример-картинка не помешает.
  15. По поводу визуализатора который может показывать лейбл когда наводишь мышку, хотелось бы что то такое только в 2d и что то посерьёзнее(тут 10к только) с LOD (аля gogole maps) и отсечением по view'у. http://projector.tensorflow.org/ Хотя тут уже 500к точек крутится. https://threejs.org/examples/webgl_buffergeometry_points.html
  16. FCN

    За счёт чего в оригинальной статье получают 'сглаженный' результат? даже для FCN-32S, где по идее должно быть увеличении сжатого блоба в 32 раза. https://github.com/shelhamer/fcn.berkeleyvision.org/blob/master/voc-fcn32s/train.prototxt https://people.eecs.berkeley.edu/~jonlong/long_shelhamer_fcn.pdf Я пробовал такую версию на базе VGG16 или проблема в том, что Conv2DTranspose не подходит? def get_fcn_vgg16_32s(inputs): bn = BatchNormalization()(inputs) # Block 1 x = Conv2D(64, (3, 3), activation='relu', padding='same', name='block1_conv1')(bn) x = Conv2D(64, (3, 3), activation='relu', padding='same', name='block1_conv2')(x) x = MaxPooling2D((2, 2), strides=(2, 2), name='block1_pool')(x) # Block 2 x = Conv2D(128, (3, 3), activation='relu', padding='same', name='block2_conv1')(x) x = Conv2D(128, (3, 3), activation='relu', padding='same', name='block2_conv2')(x) x = MaxPooling2D((2, 2), strides=(2, 2), name='block2_pool')(x) # Block 3 x = Conv2D(256, (3, 3), activation='relu', padding='same', name='block3_conv1')(x) x = Conv2D(256, (3, 3), activation='relu', padding='same', name='block3_conv2')(x) x = Conv2D(256, (3, 3), activation='relu', padding='same', name='block3_conv3')(x) x = MaxPooling2D((2, 2), strides=(2, 2), name='block3_pool')(x) # Block 4 x = Conv2D(512, (3, 3), activation='relu', padding='same', name='block4_conv1')(x) x = Conv2D(512, (3, 3), activation='relu', padding='same', name='block4_conv2')(x) x = Conv2D(512, (3, 3), activation='relu', padding='same', name='block4_conv3')(x) x = MaxPooling2D((2, 2), strides=(2, 2), name='block4_pool')(x) # Block 5 x = Conv2D(512, (3, 3), activation='relu', padding='same', name='block5_conv1')(x) x = Conv2D(512, (3, 3), activation='relu', padding='same', name='block5_conv2')(x) x = Conv2D(512, (3, 3), activation='relu', padding='same', name='block5_conv3')(x) x = MaxPooling2D((2, 2), strides=(2, 2), name='block5_pool')(x) x = Conv2D(128, (3, 3), activation='relu', padding="same")(x) x = Conv2DTranspose(128, kernel_size=(32, 32), strides=(32, 32), padding='same')(x) return x
  17. Пофиксил пару багов 1. Отключение просчета lire фич для экономии времени. 2. Отключение сортировки в main.openFolder при которой падает Загрузил ~250 кластеров ~2k изображений 256x256 для просмотра, каждый кластер это подпапка с изображениями в главной папке. 1. Clustertag не поддерживает изначальную кластеризацию (в статье было про weka), а только отображение готовых кластеров. 2. Кластеры отображаются в пространстве не по похожести. 3. Изображения внутри кластера отображаются не по похожести. 4. Нет возможности перетаскивать изображения между кластерами. 5. Нет возможности понять что это за текущий кластер и изображение. Вообщем так себе.
  18. В итоге собралось, но походу из коробки не работает(но что то треды делают в бэкграунде), подавал 100 картинок из cifar10.
  19. FCN

    > Типа того, из статей, с этим бились и явно указывали на такой артефакт в статье про UNet. Так там это в контексте того, что изображение тайлится, а потом склеивается, а если целиком пихать то норм, не? >Без skip-connections ступенчатые декодеры отвраттельно работают. Segnet (без unpooling'а с индексами как в оригинальной статье) у меня нормально работает, или о каких декодерах речь? > з.ы. а зачем ты используешь FCN, причем такой извращеный с апсемплингом в 32 раза? Я не в продакшн, а для бенчмарка. >Вообще в "боевых" архитектурах обычно не кропают края. Тогда надо размер изображения подгонять под конкретную сеть, например чтобы на 32 делилось целиком (для VGG16).
  20. FCN

    Ну тут вот без нахлеста работает, т.е. (2, 2), strides=(2, 2), видимо потому что concatenation идёт с нормальными слоями без дырок и это компенсирует. https://github.com/jocicmarko/ultrasound-nerve-segmentation/blob/master/train.py#L55 Я пробовал на FCN 5 раз по (2, 2) и были артефакты насколько помню. Краевые эффекты от того что padding='same', добивается нулями? где то можно про это почитать? В caffe репе они кстати пишут:
  21. FCN

    Понял что pad и crop нужен для того чтобы подавать изображения на которые сетка 'не расчитана', т.е. чтобы не получалось дробных значений, когда мы сжимаем блоб в 32 раза (для vgg16). Еще не понятно как у них учится без взвешивания классов: https://arxiv.org/pdf/1605.06211.pdf Class balancing Fully convolutional training can balance classes by weighting or sampling the loss. Although our labels are mildly unbalanced (about 3/4 are background), we find class balancing unnecessary. У меня на Pascal Voc 2012 у которого 70% background class обучается так, что предсказывает всё как background, пробовал так же убирать этот класс и так же предсказывает больше классы которые более представлены в выборке по кол-ву пикселей.
  22. FCN

    Да в этом и было дело. Кстати попробовал сделать не сразу 64 32, а 5 раз по 2 2 и не заработало, хотя вот в unet как раз 2 2 используется. https://github.com/jocicmarko/ultrasound-nerve-segmentation/blob/master/train.py#L55 Еще непонятно в чем смысл падинга и кропа в оригинальной сетке на caffe? https://github.com/shelhamer/fcn.berkeleyvision.org/blob/master/voc-fcn32s/train.prototxt#L27 https://github.com/shelhamer/fcn.berkeleyvision.org/blob/master/voc-fcn32s/train.prototxt#L509 Запилил пример на keras по мотивам https://github.com/ZFTurbo/ZF_UNET_224_Pretrained_Model Пока добавил unet, segnet, fcn. https://github.com/mrgloom/keras-semantic-segmentation-example
  23. FCN

    Мой вопрос не в этом, а в том что у меня явно видны блоки как у jpeg сжатия, а у них плавные границы, хоть и грубые. Походу там stride 32, а kernel 64, а у меня 32 и 32, надо попробовать. https://github.com/shelhamer/fcn.berkeleyvision.org/blob/master/pascalcontext-fcn32s/train.prototxt#L505 Хотя и не понятно как ' Deconvolution ' слой в caffe работает по сравнению с Conv2DTranspose.
  24. В итоге sloth вроде как неплох, раздражает только 1 вещь что при создании полигона надо жать каждый раз на кнопку, а не по клику мыши. https://github.com/cvhciKIT/sloth/issues/145 И еще поддержка никакая, т.к. проект старый.
  25. Хочется нормальный тул для разметки полигонами, который работает на винде и убунте, умеет делать zoom мышкой, поддерживает большие изображения. То что посмотрел: 1. https://github.com/lzx1413/labelImgPlus Нет prebuild binaries для винды, надо ставить под python 2 2. https://github.com/AKSHAYUBHAT/ImageSegmentation Разметка кистью типа graphcut, не то что надо. Непонятно как билдить\деплоить, часть под веб. 3. https://github.com/wkentaro/labelme Есть баг при сохранении разметки - видимо из-за того что юникод по разному в python2 и python3. Нету (или не работает) ctrl + mouse wheel для zoom. Надо собирать под анаконду, но на винде норм работает. 4. https://github.com/seanbell/opensurfaces-segmentation-ui Непонятно как билдить\деплоить, часть под веб. Похоже только под linux, непонятно как сохранять данные. 5. https://github.com/CSAILVision/LabelMeAnnotationTool Тоже клиент-сервер-браузерное решение, непонятно как билдить\деплоить. Что то старое. 6. https://github.com/kyamagu/js-segment-annotator Чистый js, работает из коробки в браузере (без сервера и локально). Надо руками копировать изображение в соответствующую папку и добавлять его в мета информацию, иначе его не видно. Разметка по суперпикселям, не подходит. Вешает браузер на размерах изображения 8k x 5k.
×