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

boriso

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

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

  • Посещение

  • Days Won

    2

boriso last won the day on December 14 2015

boriso had the most liked content!

Репутация

3 Новичек

О boriso

  • Звание
    Бывалый
  1. Тоже был удивлён, когда мне рассказали. Раньше сталкивался с проблемами с ОЗУ при недостаточно стабильном питании. Насколько понял, то тут аналогичная ситуация.
  2. Правильно, поскольку в системный блок воткнута не только видеокарта. Реальное потребление всего компьютера будет в районе 300-350 где-то. Плюс надо понимать, что при заявленных 500 блок питания будет выдавать меньше. Для CUDA расчётов важно, чтобы не было никаких сбоев и проседаний в питании. У знакомого расчёты вначале сбивались из-за этого. А вот в играх этого не так критично, поэтому питание лучше брать с запасом и нормальной фирмы.
  3. Классификация контуров

    Ещё 200 эпох прогнал, мне больше результат нравится, хотя всё равно бессмысленный и с ошибками. В математику пока не очень сильно вникал, поэтому пока вопрос новичка. char-rnn показывает два значения: train_loss и grad/param norm. Первый у меня со временем обучения меняется, но уже начал колебаться около 0.78, а вот второй с каждой сотней эпох снижается. До этого был 0.01, а теперь уже 0.003. Пожалуйста, можете "на пальцах" пояснить, что эти параметры значат?
  4. Классификация контуров

    Немного вне темы, но тексты более-менее вменяемые получились или нет? У меня после 150 эпох на другом произведении всё равно некрасивый текст получается, причём полностью рассогласованный по формам слов(
  5. Парковочная система

    Здравствуйте! "Вам шашечки или ехать?" Собственно, вам надо решить "задачу, связанную с парковочной системой, а именно определение количества занятых и свободных парковочных мест" или "необходимо решить проблему связанную с изменением освещенности, отражениями от поверхностей, бликами"? Чем точнее и полнее сформулируете задачу, тем быстрее найдёте решение. Например, задача "пропускать автомобили только, если есть свободные места" отличается от задачи "оценить количество посетителей по количеству автомобилей". Вот лишь первые вопросы, которые встают относительно видео: Программа должна быть универсальной или можно выполнять привязку к конкретным местам? Какие могут быть самые плохие видео? Метель, залепило камеру и т.д. Камеры статические, двигаются по заданному алгоритму, двигаются хаотично, есть возможно управлять приводом камеры? Какое разрешение и качество картинки, а также расстояние до земли? P.S. Глянул на предложенные видео. Сделал скриншоты, потом применил find edges - все автомобили "как на ладони". Вместо вычитания фона и т.п. можете попробовать, например, определять границы, после чего сравнивать уже их. Можно взять и разбить всю сцену на небольшие квадраты (по 0.5 x 0.5 м), после чего определять занятость их с некоторой вероятность, а затем сопоставлять. Если заняты сразу соседние четыре, то кто-то точно встал: автомобиль, мотоцикл и т.п.
  6. Переставляем лица на фотках.

    Слева - OpenCV. Ещё один аргумент против исходного алгоритма. P.S. Кстати, есть готовая библиотека-утилита https://github.com/fbessho/PyPoi, но качество смешивания не очень.
  7. Переставляем лица на фотках.

    Реализация blender.poisson_blend() оказалась довольно медленной. Стал искать готовые решения. Тут нашёл, что в OpenCV уже есть метод cv2.seamlessClone. Вот результат применения исходного алгоритма и метода из OpenCV: Для себя пока не решил, какой результат больше нравится: правый или левый. Вы бы что выбрали? У OpenCV два режима: cv2.MIXED_CLONE и cv2.NORMAL_CLONE. Для замены cv2.MIXED_CLONE не подходит, начинают проявляться артефакты подменяемого изображения: Пока главное преимущество стандартного метода - это на два порядка более высокая производительность (на CPU). P.S. Надо бы ещё попробовать параллельную версию https://github.com/ealehman/parallel-poisson-blending
  8. Пока нет GPU попробовал на небольшом количестве фоток. Что-то не очень оказались результаты, сопоставимы с исходными. Но подход с тренировкой существующей модели в caffe оказался простым. Решил натренировать VGG-Face на лицах для определения пола и сравнить с Age&Gender моделью. Выкачал 6к разных портретных фоток, запустил crop и resize на основе определения лица - материал для обучения и теста почти готов. Только надо провести классификацию этих 6к изображений. Может быть подскажите удобный инструмент, чтобы классифицировать фотографии? (Вариант с drag&drop по папкам, либо ctrl+c/v мне не понравился. Идеал - мышью отщёлкал некоторое количество изображений, потом нажал на класс - они пропали, продолжил.)
  9. Размытость

    Вот тут описана теория, плюс есть ссылка на исходники (пусть и ранней версии) программы http://habrahabr.ru/post/175717/ Может быть пригодится
  10. Переставляем лица на фотках.

    Сам же и отвечу на свой вопрос. В facemorpher/warper.py есть test_local(), который вызывается при запуске python warper.py. Тут как раз и используется poisson_blend. Поправил пути к исходным картинкам и чтение точек, после чего заменил одно из смешиваемых изображений на исходное: # blended_img = blender.poisson_blend(dst_img1, dst_img2, mask) blended_img = blender.poisson_blend(dst_img1, base_img, mask) В результате получился эффект исходной программы по замене лиц:
  11. Переставляем лица на фотках.

    Решение получилось всё-таки немного другое. Тут обычный морфинг (или среднее), а в исходной задаче была замена. Может быть подскажите, что подправить, чтобы при преобразовании шла только геометрическая корректировка (морфинг), но всё время оставалось исходное изображение? То есть сделать уже функциональный аналог первой задачи.
  12. Добрый день! Спасибо за советы. Начал разбираться с caffe, установил, запустил первую пару примеров. Работу с лицами удалось проверить на Age and Gender Classification Using CNN. Сейчас буду конвертировать код VGG-Face CNN descriptor с Matlab на Python. Общий подход к созданию моделей понятен, на следующей неделе пойду GTX970 покупать (осталось только производителя выбрать). Сейчас хочу вернуться к исходному вопросу использования уже готовых матриц. Если посмотреть на prototxt-файлы из Age&Gender, то они отличаются лишь значением num_output в предпоследнем слое (2 и 8). При этом один из предыдущих слоёв возвращал 512. В VGG-Face аналогичная ситуация, только результат 2622 (количество определяемых имён), а на одном из предыдущих слоёв - 4096 выходов. Предполагаю, что коэффициенты в моделях уже так выстроились, что "определяют" различные характеристики лица. Это было сделано довольно хорошо благодаря большому исходному объёму данных. В ходе обучения была задача вполне определённой классификации, поэтому и появилось соответствующее количество выходов. У меня есть задача, например, определения улыбки на лицах. Вместо обучения с нуля хочу доучить готовую модель. Подготовить две папки с фотографиями (smile и nosmile), после чего воспользоваться подобранными коэффициентами и слоями (caffemodel + prototxt), но переучить самый последний слой, чтобы скорректировать переход из 512 или 4096 в 2. Можно ли так сделать? Есть ли готовые подобные примеры? Подскажите, пожалуйста, куда копать.
  13. Здравствуйте! Загорелся идеей DL. Скачал word2vec и готовые вектора - масса впечатлений. С подготовленным набором можно экспериментировать сразу же, да и со скриптами для обучения проблем нет - компилируются и запускаются. Теперь хочу попробовать с изображениями. Представляется следующий подход: Беру большое количество изображений.Выделяю на них лица.Запускаю DL на лицах сеть для получения матрицы W с выходом на вектор длины 300-500-1000.Беру некоторую выборку изображений и сопоставляю им в качестве результата вектор длины 2-5-10. Например, будет возраст, наличие улыбки и подмигивание правым глазом.Теперь запускаю новую сеть на обучение и получаю матрицу F, преобразующую 300-500-1000 вектора в 2-5-10.Проверяю на новых изображениях, применяя последовательно W и F.Сейчас предполагаю, что можно получить хорошую матрицу W, на основе которой будет достигаться хорошее обучение и F. Более того, матрица W вообще не зависит от целевого вектора. Например, если завтра решу добавить ещё признак открытого рта, то будет достаточно найти матрицу F' с одним выходом и 300-500-1000 входами. Думаю, что матрицу F будет проще получить, чем сразу произведение W и F. Насколько подобный подход правильный? На чём проще всего начать обучение (аналог word2vec)? Может быть есть готовые решения / вектора (матрицы) для лиц? Спасибо!
  14. Здравствуйте! Поставил OpenCV Взял пример по определению лица http://opencv.itseez.com/doc/tutorials/objdetect/cascade_classifier/cascade_classifier.html При запуске получается скорость около одного-двух кадров в секунды плюс задержка на две-три секунды относительно видео потока. Из-за чего могут быть такие тормоза? Если пример быстро работающей программы по определению лица на MSVC? P.S. пробовал предкомпилированную версию 2.31 и собственно компилированную версию 2.40, результат одинаковый
  15. в итоге установил этот OpenCV; пример по трасляции кадров с камеры работает нормально, а предложенный вариант определения лица жутко тормозит (кадр в 1-3 секунды), кроме того результат определения оставляет желать лучшего... пойду разбрираться в ветке по opencv http://www.compvision.ru/forum/index.php?showtopic=15 P.S. меня бы вполне устроила готовая библиотека или аналогичный face.com сервис, если бы он не только лицо и глаза определял
×