cfif

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

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

  • Посещение

Репутация

0 Новичек

О cfif

  • Звание
    Бывалый
  1. кажется я начинаю понимать - чтобы объект был выделен рамкой, нужно тренировать модель на изображениях с рамками. Т.е. если модель обучали на простых картинках (без рамок на объектах), то рамку я уже не смогу нарисовать - я прав? И тогда получается в модель нужно вносить изменения - нужны дополнительные данные для хранения координат рамок - так?
  2. второй день воюю с этими блобами - не выходит каменный цветок(( хочу разобраться с моделью из примеров в caffe - где нужно распознать кота на картинке (модель - bvlc_reference_caffenet). Кота он распознает - теперь нужно его в рамку обвести. Сделал картинку структуры этой модели теперь нужно выяснить в какой блоб она сохраняет данные о местоположении этого кота - я прав? вот тут я и застрял. Полез в отладчик PyCharm чтобы просмотреть что хранится в переменных - не понял(( нашел в инете код, где выводится рамка (то что мне нужно) но повторить не получилось((( и модель из этого кода в инете не нашел, чтобы покопаться в кишках основательно. вот такой код нашел: https://github.com/jssmile/Distance_Estimation/blob/master/caffe/examples/detect.py # Forward pass. detections = net.forward()['detection_out'] # Parse the outputs. det_label = detections[0,0,:,1] det_conf = detections[0,0,:,2] det_xmin = detections[0,0,:,3] det_ymin = detections[0,0,:,4] det_xmax = detections[0,0,:,5] det_ymax = detections[0,0,:,6] # Get detections with confidence higher than 0.6. top_indices = [i for i, conf in enumerate(det_conf) if conf >= 0.6] top_conf = det_conf[top_indices] top_label_indices = det_label[top_indices].tolist() top_labels = get_labelname(labelmap, top_label_indices) top_xmin = det_xmin[top_indices] top_ymin = det_ymin[top_indices] top_xmax = det_xmax[top_indices] top_ymax = det_ymax[top_indices] colors = plt.cm.hsv(np.linspace(0, 1, 21)).tolist() for i in xrange(top_conf.shape[0]): xmin = int(round(top_xmin * image.shape[1])) ymin = int(round(top_ymin * image.shape[0])) xmax = int(round(top_xmax * image.shape[1])) ymax = int(round(top_ymax * image.shape[0])) score = top_conf label = int(top_label_indices) label_name = top_labels if label_name == 'car': cv2.rectangle(frame, (xmin,ymin), (xmax,ymax), (150,0,255), 2) тут мне непонятна строка: detections = net.forward()['detection_out'] пытаюсь вставить в свой код - выдает ошибку. Что такое detection_out? или это слой в его модели? далее он из detections извлекает det_xmin = detections[0,0,:,3] и т.д и потом из этих данных находит координаты для выделения объекта. Не могу осилить этот пример(((
  3. разобрался я с программированием python и opencv. Там у меня получилось взять видеопоток от вебкамеры. Далее я запускаю для каждого кадра анализ. Получаю результат - вот только не могу разобраться в данных, которые присылает caffe. Если я правильно понял, то запуск анализа происходит так: inputs = [caffe.io.load_image(args.input_file)] - загрузка файла картинки после чего идёт такая строка scores = classifier.predict(inputs, not args.center_only).flatten() - сам анализ изображения и вот теперь не могу разобраться где и в каком виде хранит результат своей работы caffe. Я так понимаю, что должен получиться массив данных. там должны быть перечислены вероятности и названия найденного объекта. Ну и, наверное, координаты квадрата, где находится этот объект. Подскажите пожалуйста структуру этого массива или где можно про это почитать.
  4. хотелось бы получить что-то похожее на это
  5. начал разбираться с caffe. разобрался с тем как распознавать объекты на изображениях. хочу перейти к распознаванию объектов на видео в реальном времени, но не пойму с какого бока к этому вопросу подходить. погуглил, на форуме поискал - не смог найти материалы(( как нужно скармливать видео натренированной модели? в параметрах коммандной строки указывается путь к картинке, а мне нужно указать видеопоток с web-камеры. Я так понимаю, что тут нужно оболочку на питоне писать? может есть уже готовые примеры? подскажите в какую степь гуглить - я в этом деле новичок))) пробовал разобраться с моделью SegNet - но в примерах у них идет обработка изображений((, а как туда видеопоток засунуть - тоже нет информации.
  6. у меня комп старинный, даже видеокарта встроенная))) так что никакого GPU нету - я его отключил) У меня всё заработало!!! нашёл видео, где рассказывается про установку caffe на ubuntu - там он как раз пробует запустить этот пример и исправляет ошибки, которые вылазят. там и моя ошибка тоже была. нужно было еще кое-какие исправления добавить в файл classify.py и io.py. http://sanghosuh.tistory.com/entry/Install-Caffe-on-Ubuntu Вам ещё раз огромное спасибо!!!))) настроить caffe получилось по вашей инструкции
  7. скачал вашу версию - с ней получилось сделать как на видео. Параметры немного отличались, но всё сработало. Потом запустил полученный файл проекта в Visual Studio. Выполнил build solution, а затем buid install. Всё получилось. Исправил путь к PythonPath на новый. Спасибо вам огромное!!! Настал главный момент - хочу таки с котами разобраться. Этот пример на многих сайтах встречается. в командной строке выполняю: python python/classify.py --print_results examples/images/cat.jpg foo Начал ругаться на --print_results - дескать нет такого параметра. Погуглил - действительно, нужно самому дописать это дело. Инфу взял отсюда: http://stackoverflow.com/questions/37265197/classify-py-is-not-taking-argument-print-results Добавил код, который там нужен был. Выдал ошибку /***************************************************** c:\caffe-windows>python python/classify.py --print_results examples/images/cat.j pg foo CPU mode WARNING: Logging before InitGoogleLogging() is written to STDERR W0226 01:06:20.146100 12316 _caffe.cpp:172] DEPRECATION WARNING - deprecated use of Python interface W0226 01:06:20.146100 12316 _caffe.cpp:173] Use this instead (with the named "we ights" parameter): W0226 01:06:20.146100 12316 _caffe.cpp:175] Net('python\../models/bvlc_reference _caffenet/deploy.prototxt', 1, weights='python\../models/bvlc_reference_caffenet /bvlc_reference_caffenet.caffemodel') Traceback (most recent call last): File "python/classify.py", line 164, in <module> main(sys.argv) File "python/classify.py", line 115, in main channel_swap=channel_swap) File "c:\caffe-windows\python\caffe\classifier.py", line 26, in __init__ caffe.Net.__init__(self, model_file, pretrained_file, caffe.TEST) RuntimeError: Could not open file python\../models/bvlc_reference_caffenet/bvlc_ reference_caffenet.caffemodel /***************************************************** В последней строке написано, что не может найти bvlc_reference_caffenet.caffemodel я её нашел по адресу: https://github.com/BVLC/caffe/tree/master/models/bvlc_reference_caffenet запихнул в папку models/bvlc_reference_caffenet запустил - выдал длинющую партянку и в конце ошибку(((((( эту ошибку я уже не осилил( код всего этого безобразия в файле прикрепил. ну я так понял, что это уже не к питону и работе caffe относится - а к конкретной модели. там что-то не фурычит. а вы пробовали у себя запустить этот пример с котом? он у вас работает? error_01.txt
  8. попробовал разобраться с этим вопросом. скачал Cmake 3.8.0 сделал папку для нового билда - build2 настроил путь на source code При конфигурации указал компилятором Visual Studio 12 2013 win64. Получилось вот что. по-моему что-то тут не то( Кстати, в папке cmake у меня нет файла WindowsCreateLinkHeader.cmake. А вы откуда качали свой вариант cmake для windows? может я тоже такойже скачаю?
  9. спасибо большое, что откликнулись)) у меня дерево отличается очень сильно (прикрепил файл с деревом) запускаю через командную строку (cmd - и там уже всё пишу) немного не понял про проект install - я открыл файл caffe.sln и выполнил пункт build solution. После этого появилась папка affe-master\Build\x64\Release. Вот с ней и работаю. Я в этом деле новичёк, прошу прощения за такое объяснение. Visual Studio, python, caffe - про это всё узнал неделю назад)) FileTree.txt
  10. тоже пытаюсь запустить caffe под Windows (8.1). caffe собрал - пытаюсь запустить тестовый пример с рыжим котом: python python/classify.py --print_results examples/images/cat.jpg foo выдаёт ошибку: Traceback (most recent call last): File "python/classify.py", line 14, in <module> import caffe File "c:\caffe-master\python\caffe\__init__.py", line 1, in <module> from .pycaffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, RMSPropS olver, AdaDeltaSolver, AdamSolver File "c:\caffe-master\python\caffe\pycaffe.py", line 13, in <module> from ._caffe import Net, SGDSolver, NesterovSolver, AdaGradSolver, \ ImportError: No module named _caffe Как устанавливал и что делал: 1) Скачал caffe-master (в корень диска С) 2) в CommonSettings.props поставил настройки работы без CUDN, и работу с питоном (матлаб не включал): <CpuOnlyBuild>true</CpuOnlyBuild> <UseCuDNN>false</UseCuDNN> <PythonSupport>true</PythonSupport> <PythonDir>C:\Miniconda2\</PythonDir> 3) Далее дейстовал по инструкции https://github.com/Microsoft/caffe : - Установил Miniconda 2.7 64-bit (во время установки прописал пути через инсталятор) - выполнил следующие строки: conda install --yes numpy scipy matplotlib scikit-image pip pip install protobuf 4) Дальше через Visual Studio 2013 запустил проект и собрал его (по видео где за 5 мин устанавливают caffe). Собралось все 16 проектов, ничего не пропущено, ошибок нет. 5) В переменных среды создал переменную PythonPath (её там не было) и прописал путь C:\caffe-master\Build\x64\Release\pycaffe 6) добавил в переменную среды Path пути: C:\caffe-master\Build\x64\Release\pycaffe\caffe и ещё добавил C:\caffe-master; (пути для миниконды там есть) и вот когда пытаюсь запустить этот пример с котом - выдаёт такую ошибку(( пытался разобраться в чём тут дело. В файле python/classify.py ругается, кажется, на 14 строку (import caffe). Попытался выполнить эту команду в самом питоне. Стал ругаться на неустановленные модули. Сначала на numpy (хотя я его устанавливал). Ну я еще раз выполнил pip install numpy. Потом он начал ругаться на scikit-image. Попытался сделать pip install scikit-image - не прошло - вылезла ошибка про необходимость компилятора Visual C++ 9.0. Порылся в сети нашел его - https://www.microsoft.com/en-us/download/details.aspx?id=44266. Установил. Тоже самое (ну тут я возможно его не настроил - я, честно говоря, в деле работы с питоном не разбираюсь - первый раз столкнулся с этим зверем). Нашёл вариант установки из файлов *.whl (http://www.lfd.uci.edu/~gohlke/pythonlibs/) - ну как я понял, это альтернативный вариант установки. Нашёл нужный для моей системы вариант Scikit-image. выполнил pip install c:\my_file.whl - установка прошла!. Дальше при попытке выполнить import caffe ругался последовательно на несколько модулей (numpy+mkl, scipy) установил и их таким же макаром из whl. После этого команда import caffe прошла без ошибок. Но всё равно коты не запускаются. Решил проверить - установлен ли этот модуль командой help('modules'). Показывает, что caffe есть. Подчеркну, на всякий случай, модуль называется caffe, а не _caffe (с подчеркиванием), хотя в "c:\caffe-master\python\caffe\pycaffe.py" 13 строка начинается с "from ._caffe import Net,". Пытался скопировать \Build\x64\Release\pycaffe\caffe в C:\Miniconda2\lib\site-packages - не помогло. Рылся на англоязычных форумах, где про этуже ошибку упоминают, не помогло( Камрады, помогите разобраться с этими грёбаными котами!!! 4-й день сижу с этой проблемой - сил уже больше нету(