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

Улучшение grabcut?

Recommended Posts

Добрый вечер.

Нужен совет в каком направлении мне искать информацию.

Имеется набор изображений (~50к) в формате png и jpg. На изображениях запечатлены люди в разных фото-позах, за человеком белый фон. На изображениях разные люди (высокие, маленькие, по пояс, портрет, мужчины, женщины).

Изображения в формате png отделены от фона, на jpg соответсвенно фон имеется.

Возможно ли каким-либо алгоритмом научить будущую систему выделять границы объекта (в нашем случае человека) на рандомном не из выборки изображении с фоном. Своеобразная сегментация.

Возможно ли такую систему объединить с имеющимся алгоритмом сегментации, например grabcut ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Можно попробовать семантическую сегментацию, DeepLab дает неплохие результаты при сегментации людей...

з.ы. 50к изображений человеков? Может быть, если имеется возможность, вы поделитесь такой базой с общественностью? 

  • Like 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо, посмотрю по этой теме.

На самом деле 50к - это не предел. Если перетрясти все сервера, думаю можно и в втрое большее кол-во наскрести(png). Обычные фото (jpg) никогда не исчислял!

Можно, только куда залить терабайт? Или даже половину от этого?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
14 minutes ago, maxfashko said:

Спасибо, посмотрю по этой теме.

На самом деле 50к - это не предел. Если перетрясти все сервера, думаю можно и в втрое большее кол-во наскрести(png). Обычные фото (jpg) никогда не исчислял!

Можно, только куда залить терабайт? Или даже половину от этого?

Под такой объем если только FTP поднимать. Ну или на каком-нибудь rutracker'е в виде торрент-раздачи выложить. Думаю, для тренировки сеток такое было бы крайне полезно.

з.ы. кстати, вспомнил, у DeepLab есть онлайн-сервис, где можно залить свою картинку и посмотреть. как он будет её сегментировать: http://www.robots.ox.ac.uk/~szheng/crfasrnndemo

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
12 минуты назад, BeS said:

Под такой объем если только FTP поднимать. Ну или на каком-нибудь rutracker'е в виде торрент-раздачи выложить. Думаю, для тренировки сеток такое было бы крайне полезно.

з.ы. кстати, вспомнил, у DeepLab есть онлайн-сервис, где можно залить свою картинку и посмотреть. как он будет её сегментировать: http://www.robots.ox.ac.uk/~szheng/crfasrnndemo

В общем и целом это возможно, почему нет?  Как появиться время обязательно расшарю образы!

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

Из поставки opencv перепилил под себя grabcut для автоматической, пакетной сегментации фотографий. Прямоугольник объекта задаю в настройках условно - примерно 10-15% от краев изображения. Результат неплохой, учитывая участие человека в процессе на уровне "нажал кнопку - смотришь на результат".

Bes, в обучении я ноль. Только один раз учил каскад для обнаружения лиц adaBoost`ом. С чего начать, чтобы натренировать данную систему?

Возможно ли добиться лучших результатов с моим большим кол-вом изображений, чем это сделали ребята из лаборатории?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Сам я пока DeepLab не тренировал, но судя по инструкции отсюда: https://bitbucket.org/deeplab/deeplab-public/ процесс не выглядит очень сложным. Также вроде бы тут есть уже потренированные модели: http://ccvl.stat.ucla.edu/software/deeplab/deeplab-largefov/.

Вообще все эти сетки тренируются сначала на ImageNet, у которого >1M картинок с изображениями объектов различных классов...т.ч. база у них там совсем не маленькая. Но если добавить к ней еще пару сотен тысяч картинок, то вероятно станет лучше. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, BeS said:

Можно попробовать семантическую сегментацию, DeepLab дает неплохие результаты при сегментации людей...

з.ы. 50к изображений человеков? Может быть, если имеется возможность, вы поделитесь такой базой с общественностью? 

Мой скрипт для добычи фейсов в аттаче, я в питоне новичек, так что не пинайте сильно :) .

Но скрипт исправно добывает мне 2000-3000 фейсов в день. Если кто прикрутит какие нибудь полезные фичи, например смену проксей, или просто приведет код к человеческому с точки зрения питониста, будет очень хорошо.

my_site_grabber.py

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
22 minutes ago, Smorodov said:

Мой скрипт для добычи фейсов в аттаче, я в питоне новичек, так что не пинайте сильно :) .

Но скрипт исправно добывает мне 2000-3000 фейсов в день. Если кто прикрутит какие нибудь полезные фичи, например смену проксей, или просто приведет код к человеческому с точки зрения питониста, будет очень хорошо.

my_site_grabber.py

Хм, если время будет, приделаю к нему детектор RCNN, чтоб не только фэйсы детектировал.

з.ы. а сколько трафика в день сжирает этот скрипт?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не мерял, но выход примерно 1:1, то есть примерно 3-5к изображений в среднем 2000 на 2000 точек через себя пропускает.

Сохраняет только лица сдетектированные детектором DLIB. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Еще есть слабая идея - сделать простой детектор кожи типа такого и потом обвести блоб головы ректом и подать в grabcut, но это только для лица \ головы.

 

А так да семантическая сегментация

https://github.com/mrgloom/Semantic-Segmentation-Evaluation

Можно начать с чего то типа textonboost, там в C# коде нету CRF, и я не прикидывал что там будет по памяти при использовании большого датасета, но запускается он довольно легко без какой либо установки.

http://jamie.shotton.org/work/code.html

http://www.slideshare.net/LiloSEA/ss-3591886

 

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
On 1/29/2016 at 5:26 PM, Smorodov said:

Не мерял, но выход примерно 1:1, то есть примерно 3-5к изображений в среднем 2000 на 2000 точек через себя пропускает.

Сохраняет только лица сдетектированные детектором DLIB. 

Кстати вам идея, вместо картинок и интернета использовать фильмы и сериалы :) 

Видео процессится значительно быстрее, чем картинки из поисковика, и собираются достаточно неплохие сэмплы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну это не то, много экземпляров одних и тех же лиц.

В этом смысле разнообразие материала из фото-хостингов намного выше.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Выглядит супер !

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 hour ago, Smorodov said:

Ну это не то, много экземпляров одних и тех же лиц.

В этом смысле разнообразие материала из фото-хостингов намного выше.

Если взять какой-нибудь отечественный бандитский сериал, то там разнообразие физиономий будет впечатляющим)

49 minutes ago, mrgloom said:

смотрели мы на этот датасет, но на мое письмо с просьбой дать доступ к нему мне так никто и не ответил.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я думаю не более пары десятков в каждом, а на сериалы диск расходовать уж очень неохота :)

да и тогда получится преимущественно детектор бандитского элемента и правоохранительных органов :)

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А, чёрт, там все равно через регистрацию, раньше ссылок просто не было вообще.

Да, тут скорее только через официальное письмо от института.

И тем более я так понимаю там лейблов нету.

Можно еще граббер для VK/FB написать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

VK/FB - думается забанит быстро.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Еще свежий алгоритм сегментации ( JumpCut ): http://irc.cs.sdu.edu.cn/JumpCut/

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Друзья, а как мне создать выборку и разметить ее для обучения?

Я должен взять png изображения и сделать из них jpeg изображения предварительно раскрасив их в 2 цвета (фон и объект). А затем перевести все это дело в вектор и подать на вход нейросети?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Смотря куда подавать

Можно попробовать вот это (в итоге у меня получилось запустить сеть в 1 decoder-encoder слой)

там надо подавать одноканальную .png картинку с лейблами (0,1,2, ....n) и сам .protobuf поменять под кол-во классов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте учётную запись или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать учётную запись

Зарегистрируйтесь для создания учётной записи. Это просто!

Зарегистрировать учётную запись

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×