mrgloom
Пользователи-
Количество публикаций
2 302 -
Зарегистрирован
-
Посещение
-
Days Won
142
Все публикации пользователя mrgloom
-
Есть какой то готовый тул для разметки кругами и элипсами? Желательно: 1. Поддержка больших изображений. 2. Чтобы работало на линуксе и винде.
-
Есть еще задача которая называется person reidentification
-
Датасеты в тему http://vc.ee.duth.gr/dibco2017/
-
Какого качества камеру надо чтобы нормально 'увидеть эффект'?
-
Определение резкости на участке изображения, отделение заднего плана
mrgloom replied to Tlya's topic in OpenCV
laplacian, хотя наверно и другие подойдут. google -> laplacian focus measure -
Можно отсюда попробовать https://imagej.net/Auto_Threshold
-
Чем то похоже https://www.kaggle.com/c/data-science-bowl-2018 Сколько у вас картинок? Есть ли разметка?
-
> детектор автомобильных номеров на классификаторе из dlib А из коробки есть?
- 10 replies
-
Определение угла поворота и смещения объекта
mrgloom replied to noname's topic in Вопросы по нейросетям и ИИ
Да, можно даже искуственно нагенерить таких картинок и предсказывать например матрицу перспективного искажения 3x3 вытянутую в вектор, т.е. решаем задачу как регрессию и предсказываем 9 чисел. -
Еще немного в другую сторону(про просмотр затайленых карт/изображений): Помниться как то пробовал запустить это на базе 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
-
Есть ли какие то похожие тулы, а то свой велосипед не хочется писать. 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
-
https://blog.deepsense.ai/deep-learning-for-satellite-imagery-via-image-segmentation/ Похоже на правду что и unet'ом можно мелкие линии.
-
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
-
Определение угла поворота и смещения объекта
mrgloom replied to noname's topic in Вопросы по нейросетям и ИИ
Как вариант: 1. Сдетектировать объект. 2. Обучить CNN на определение скейла и поворота как регрессию. p.s. конкретный пример-картинка не помешает. -
По поводу визуализатора который может показывать лейбл когда наводишь мышку, хотелось бы что то такое только в 2d и что то посерьёзнее(тут 10к только) с LOD (аля gogole maps) и отсечением по view'у. http://projector.tensorflow.org/ Хотя тут уже 500к точек крутится. https://threejs.org/examples/webgl_buffergeometry_points.html
-
За счёт чего в оригинальной статье получают 'сглаженный' результат? даже для 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
-
Пофиксил пару багов 1. Отключение просчета lire фич для экономии времени. 2. Отключение сортировки в main.openFolder при которой падает Загрузил ~250 кластеров ~2k изображений 256x256 для просмотра, каждый кластер это подпапка с изображениями в главной папке. 1. Clustertag не поддерживает изначальную кластеризацию (в статье было про weka), а только отображение готовых кластеров. 2. Кластеры отображаются в пространстве не по похожести. 3. Изображения внутри кластера отображаются не по похожести. 4. Нет возможности перетаскивать изображения между кластерами. 5. Нет возможности понять что это за текущий кластер и изображение. Вообщем так себе.
-
В итоге собралось, но походу из коробки не работает(но что то треды делают в бэкграунде), подавал 100 картинок из cifar10.
-
> Типа того, из статей, с этим бились и явно указывали на такой артефакт в статье про UNet. Так там это в контексте того, что изображение тайлится, а потом склеивается, а если целиком пихать то норм, не? >Без skip-connections ступенчатые декодеры отвраттельно работают. Segnet (без unpooling'а с индексами как в оригинальной статье) у меня нормально работает, или о каких декодерах речь? > з.ы. а зачем ты используешь FCN, причем такой извращеный с апсемплингом в 32 раза? Я не в продакшн, а для бенчмарка. >Вообще в "боевых" архитектурах обычно не кропают края. Тогда надо размер изображения подгонять под конкретную сеть, например чтобы на 32 делилось целиком (для VGG16).
-
Ну тут вот без нахлеста работает, т.е. (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 репе они кстати пишут:
-
Понял что 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, пробовал так же убирать этот класс и так же предсказывает больше классы которые более представлены в выборке по кол-ву пикселей.
-
Да в этом и было дело. Кстати попробовал сделать не сразу 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
-
Мой вопрос не в этом, а в том что у меня явно видны блоки как у jpeg сжатия, а у них плавные границы, хоть и грубые. Походу там stride 32, а kernel 64, а у меня 32 и 32, надо попробовать. https://github.com/shelhamer/fcn.berkeleyvision.org/blob/master/pascalcontext-fcn32s/train.prototxt#L505 Хотя и не понятно как ' Deconvolution ' слой в caffe работает по сравнению с Conv2DTranspose.
-
Нормальный тул для пописельной сегментации
mrgloom replied to mrgloom's topic in Обсуждение общих вопросов
В итоге sloth вроде как неплох, раздражает только 1 вещь что при создании полигона надо жать каждый раз на кнопку, а не по клику мыши. https://github.com/cvhciKIT/sloth/issues/145 И еще поддержка никакая, т.к. проект старый. -
Хочется нормальный тул для разметки полигонами, который работает на винде и убунте, умеет делать 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.