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

mrgloom

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

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

  • Посещение

  • Days Won

    142

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

  1. Можно рассмотреть разные бустинги: WaldBoost, JointBoost и т.д. Потом разные каскады: hard cascade(классический как у viola-jones), soft cascade, crosstalk cascade. (еще есть Surf Cascade, Joint Cascade, но это только названия, а так немного не в ту степь) Разные фичи: Haar Features(как у viola-jones), LBP Features, Integral Channel Features и т.д. П.С. я считаю что хороший читаемый код по классическому методу это тоже неплохо.
  2. Я имел ввиду что есть вариант писать всё с нуля через *.cu kernels или использовать какие либо NPP, thrust, gpu:Mat и т.д. Он же вроде как построен на hog+linear svm? И надо устроить точное сравнение.
  3. Какие примитивы вы будете использовать или писать чистые *.cu kernels? Например ля интегральных изображений вроде как есть: cv::cuda::integral
  4. Под винду собирается?) Чем отличается от master ветки? Как можно скачать и положить рядом с master отдельной веткой для сравнения?
  5. А на нём будет не медленнее? там же какая то прослойка всё равно используется? И тем более как я буду ставить сам docker без sudo? Нельзя сделать как в винде - сначала копируешь .exe и потом смотришь на какие .dll ругается и копируешь итеративно? Или посмотреть чем то типа dependency walker. Какие могут быть подводные камни? Вообщем попробую http://askubuntu.com/questions/24270/dependency-walker-for-ubuntu
  6. Еще немного на эту тему от Lecun'a https://www.cs.nyu.edu/~yann/talks/lecun-20071207-nonconvex.pdf http://videolectures.net/eml07_lecun_wia/
  7. Хмм, не знал что этот термин вообще применим к нейросетям, думал используется только для SVM. Хотя гугл говорит What is your opinion on a well-performing convnet without any theoretical justifications for why it should work so well? Do you generally favor performance over theory? Where do you place the balance? I don’t think their is a choice to make between performance and theory. If there is performance, there will be theory to explain it. Also, what kind of theory are we talking about? Is it a generalization bound? Convnets have a finite VC dimension, hence they are consistent and admit the classical VC bounds. What more do you want? Do you want a tighter bound, like what you get for SVMs? No theoretical bound that I know of is tight enough to be useful in practice. So I really don’t understand the point. Sure, generic VC bounds are atrociously non tight, but non-generic bounds (like for SVMs) are only slightly less atrociously non tight. If what you desire are convergence proofs (or guarantees), that’s a little more complicated. The loss function of multi-layer nets is non convex, so the easy proofs that assume convexity are out the window. But we all know that in practice, a convnet will almost always converge to the same level of performance, regardless of the starting point (if the initialization is done properly). There is theoretical evidence that there are lots and lots of equivalent local minima and a very small number of “bad” local minima. Hence convergence is rarely a problem. http://blog.kaggle.com/2014/12/22/convolutional-nets-and-cifar-10-an-interview-with-yan-lecun/ p.s. тоже интересная область https://en.wikipedia.org/wiki/Stability_%28learning_theory%29#History
  8. MS Visual C++ и OpenCV

    видимо Visual Studio 2012 Dev11 11.0 Visual Studio 2013 Dev12 12.0 https://ru.wikipedia.org/wiki/Microsoft_Visual_Studio
  9. А какой там вид параллелизма? Как в пейпере про AlexNet, т.е. одна часть сетки висит на одном GPU, а вторая на другом(т.е. когда сетка со всеми весами не влезает на 1 GPU)? или именно по батчам делится, а потом как то сливается? http://stackoverflow.com/questions/33726333/caffe-pycaffe-set-all-gpus
  10. https://devtalk.nvidia.com/default/topic/891115/nvidia-m2090-power-compatibility-question/ Просто M2090 имеет на борту 6Gb и довольно дешева на ebay (если я всё правильно понял и это не обман). Из минусов это пассивное охлаждение(есть вариант с C2070, но это дороже) и походу невозможность юзать CuDNN "cuDNN requires a cc3.0 or higher GPU. " http://stackoverflow.com/questions/33760192/how-to-know-which-cudnn-version-one-should-use cuDNN v3 requires CUDA 7.0 cuDNN v2 and v1 both require CUDA 6.5 All cuDNN versions require compute capability >= 3.0 devices
  11. MS Visual C++ и OpenCV

    https://karanjthakkar.wordpress.com/2012/11/21/usin-opencv-2-4-2-with-visual-studio-2012-on-windows-7-64-bit/ тут почему то юзают vc10 http://opencv-srf.blogspot.ru/2013/05/installing-configuring-opencv-with-vs.html а тут vc11
  12. А что в итоге лучше для Сaffe 980ti или TitanX? (по спекам TitanX получше, но и стоит почти в 2 раза больше). Плохо что сейчас нет какого то бенчмарка на самые популярные архитектуры(VGG16, AlexNet и т.д.), чтобы можно было бы посмотреть насколько производительность карточек отличается. Сейчас даже непонятно какой размер памяти нужен на видеокарте, т.к. сейчас можно пролететь даже не по скорости, а потому что не хватит памяти на видеокарте. И да что насчёт б\у Tesla M2090 ? Возможно ли ёё воткнуть в обычную материнскую плату? или нужна серверная? Похоже минус в том, что охлаждение пассивное.
  13. MS Visual C++ и OpenCV

    а само окошко где прописываются либы? для дебага должны быть *d.lib
  14. MS Visual C++ и OpenCV

    Сдаётся мне что это какие то кривые dll http://stackoverflow.com/questions/21261709/debug-assertion-failed-expression-pfirstblock-phead-using-opencv-and-c-tr проверьте какие у вас dll и какой проект x86 или x64
  15. MS Visual C++ и OpenCV

    Попробуйте запустить готовый пример, пока без самодеятельности. https://github.com/Itseez/opencv/tree/master/samples И это писать не надо. lines.~vector(); BinImg.release();
  16. https://ru.wikipedia.org/wiki/ROC-%D0%BA%D1%80%D0%B8%D0%B2%D0%B0%D1%8F https://en.wikipedia.org/wiki/Receiver_operating_characteristic roc curve это один из методов сравнения двух моделей LFW это бенчмарк.
  17. Я не знаю как точно receptive field влияет на распознавание, но кажется что чем он больше тем больше контекста захватывается, но может быть больше не значит лучше т.к. будет больше влиять бэкграунд и меньше концентрации на мелкие детали. но это все догадки. еще про receptive field, но не очень понятно о чем они вообще говорят. https://www.cs.berkeley.edu/~rbg/papers/r-cnn-cvpr.pdf
  18. http://vis-www.cs.umass.edu/lfw/results.html можно использовать ROC curve Соответственно получить ROC curve варьируя threshold, потом выбрать threshold который больше подходит по задачу(больше ложных срабатываний или больше пропусков)
  19. Point cloud to mesh

    На первый взгляд это выглядит как curve matching только в 3D, еще возможно задаются какие то constrains. Есть еще такая книга как Numerical geometry of non-rigid shapes тут вроде как и рот нормально алайнится http://www.hao-li.com/publications/papers/sca2009FO.pdf тут используют prior http://www.hao-li.com/publications/papers/siggraph2011RPBFA.pdf
  20. Point cloud to mesh

    Изначальная задача собрать некий базис 3д моделей по которым потом будут строится промежуточные? Есть non-rigin ICP, т.е. взять некую 1 базовую модель и фитить её потом на облако точек, но думаю явно будут проблемы когда рот открывается и когда сильная мимика. http://www.hao-li.com/teaching/geometricComputingSeminar/IntroductionToNonRigidRegistration.pdf http://resources.mpi-inf.mpg.de/deformableShapeMatching/EG2011_Tutorial/slides/2.3%20Non-Rigid%20Registration.pdf http://lgg.epfl.ch/publications/2008/sgp2008GCO.pdf еще отсюда http://lgg.epfl.ch/publications.php http://lgg.epfl.ch/publications/2014/2d3dRegistration/index.php еще тут можно посмотреть много интересного http://www.pointclouds.org/blog/all.php секция Statistical Face Model как раз связана с вашей первой ссылкой не совсем в тему но есть еще такая штука как http://grail.cs.washington.edu/projects/dynamicfusion/papers/DynamicFusion.pdf
  21. я имел ввиду что когда у вас в caffe test phase то у вас accuracy считается по данным в которых pos:neg 50%:50%, а может надо тестировать на выборке которая по распределению pos:neg близка к распределение на реальных данных и так вы получите accuracy приближенную к реальной. Вообще метрика accuracy не применима к unbalanced data, т.к. например у нас pos:neg 1:100 и если мы предиктим всё как негативное, то получаем хорошую accuracy, но понятно что это неадекватно. Кстати как в caffe можно управлять соотношением pos:neg в батче? Только в изначальное хранилище записывать в необходимой пропорции pos:neg и предполагая что оттуда будет брать сэмплы равномерно рэндомом и в среднем в батче мы получим pos:neg примерно в таком же отношении?
  22. что такое dither'ы? Скорее всего на реальных данных намного больше сэмплов отрицательного класса и поэтому точность падает. это реальная история из жизни? или результаты из какого то пейпера? Можно попробовать 2 варианта обучить с нуля на 10M и зафайнтюнится на 10M и посмотреть что лучше.
  23. Вроде как CNN инвариантна к скейлу и сдвигу в каком то диапазоне, это да. Можно провести экперимент взять обученный AlexNet с входным изображением (224x224 вроде), прогнать тестовую выборку, а потом тоже самое только сжимать изображение и потом разжимать до исходного и посмотреть как точность будет падать в зависимости от скейла. По идее при таких манипуляциях высокие частоты будут пропадать и качество будет ухудшаться. Если вы говорите что зафиксировать архитектуру сетки и пихать туда изображения любого размера, то да это должно работать, но где гарантия что такая конфигурация оптимальна? Интуиция подсказывает что при уменьшении размера изображения нужно уменьшать размеры свёртки, тем более что если мы обучаем с нуля мы теряем сетки уже обученные под конкретный размер изображения. Изначально в топике я скорее спрашивал можно ли заресайзить уже обученные свёрточные слои?
  24. Думаю лучше файнтюнить, тем более что можно ведь зафайнтюнить и на большой базе, если она есть. Но интересен вопрос сколько нужно данных чтобы производительность модели с файнтюном сравнилась с обученой с нуля, надо тупо пробовать, но результат может сильно зависеть от настроек обучения\модели. Кстати еще интересен вопрос сколько вообще нужно данных, т.е. построить график зависимости точности классификатора от кол-ва данных. Сейчас самый простой вариант это построить график точность относительно кол-ва итераций, но это не совсем тоже самое, т.к. если мы фиксируем кол-во данных то сеть может пробегать по данным более 1 раза.
  25. Где то встречал, что вместо mean image вычитали mean pixel. А просто так не меняя размеры слоёв подать на вход меньшую картинку наверно не получится, т.к. размер свертки (receptive field) настраивается под размер объектов? Вопрос скорее стоит так - во сколько раз уменьшать размеры сверточных слоёв при изменении размера картинки в N раз.
×