Андрей_Андрей
-
Количество публикаций
43 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные пользователем Андрей_Андрей
-
-
5 часов назад, APXANGEL сказал:Если камера стоит сверху и смотрит на дорогу, то как вариант можно использовать частотный анализ, должно быть довольно быстро.
Можете дать ссылку на описание метода, или примера?
-
Ну, у существующих комплксов разные характеристики и функции разные...А вот "поток" например, использует core i7. У автоурагана действительно слабенький селерон, я правда не знаю, сколько полос он видит одновременно.
-
Спасибо, а как мне ускориться? что будет работать быстрее Хаара и искать пластины номеров не хуже?
-
Ищу в потоке машин пластины номеров. нахожу обученным каскадом Хаара.
использую detectMultiScale. Каскад обучен на примерно 1000 положительных примеров и 5000 отрицательных.Прототипировал на python2. При этом искал пластины сначала на всем кадре 2560х2048 точек, потом пробовал выделять зоны в которых есть движущиеся автомобили, и искать только в них.
Обнаружил, что вариант с поиском по всему кадру в итоге быстрее, чем вариант с предварительным поиском зон движения. длительность цикла программы на питоне около 250 мс, что неприемлемо по быстродействию.
Перешел на С++/VS2013. С родным компилятором MSVS. Удивительно то, что программа в Debug версии имеет цикл больше секунды, а в Release - 300 - 350 мс, что больше, чем у питона!. Все 4 ядра Core I5 и в питоне, и в С++ при работе release версии грузятся примерно на 90%. Утечек памяти не наблюдаю.
Почему С++ не дает выигрыша по скорости, хотя должен?Где я не прав? Что подправить в настройках в Visual Studio 2013?
и главное, что дальше делать?
Спасибо.
-
Если речь идет о распознавании каскадами Хаара, то они и нужны ( каскады Хаара). Можно взять готовые или обучить самому. Вот так, например: https://habrahabr.ru/post/208092/
-
огромное спасибо за советы, каскад хотя-бы начал учиться. Параметры такие:
opencv_traincascade.exe -data haar -vec samples.vec -bg Bad.dat -minhitrate 0.990 -maxFalseAlarmRate 0.4 -numPos 689 -numNeg 800 -numStages 16 -w 30 -h 10 -featureType LBP -acceptanceRatioBreakValue -1 -precalcValBufSize 2048 -precalcIdxBufSize 2048 -numThreads 4доходит до 12 stage и потом та-же ошибка :
POS count : consumed 689 : 707
Train dataset for temp stage can not be filled. Branch training terminated.Опять ему мало примеров?
каскад обучаю на поиск номерных знаков. то, что обучилось на картинке находит следующее: см. вложение.
Скажите - почему столько ложных обнаружений? плохая выборка контрпримеров?
В какую сторону копать дальше?
Спасибо.
-
Пробую учить каскад хаара. Изучил https://habrahabr.ru/post/208092/ Запускаю opencv_traincascade.exe -data haar -vec samples.vec -bg Bad.dat -minhitrate 0.990 -maxFalseAlarmRate 0.5 -numPos 68 -numNeg 49 -numStages 16 -w 30 -h 10 -featureType LBP -acceptanceRatioBreakValue 10e-5 -precalcValBufSize 2048 -precalcIdxBufSize 2048 -numThreads 4 из opencv версий 2.4.10 и 2.4.11 и 3.1. примеров 450, контрпримеров 98.
на opencv 2.4.10 останавливается на 5-й минуте обсчета, параметры запуска такие:
C:\cars>opencv_traincascade.exe -data haar -vec samples.vec -bg Bad.dat -minhitrate 0.990 -maxFalseAlarmRate 0.5 -numPos 68 -numNeg 49 -numStages 16 -w 30 -h 10 -featureType LBP -acceptanceRatioBreakV
alue 10e-5 -precalcValBufSize 2048 -precalcIdxBufSize 2048 -numThreads 4
Training parameters are loaded from the parameter file in data folder!
Please empty the data folder if you want to use your own set of parameters.
PARAMETERS:
cascadeDirName: haar
vecFileName: samples.vec
bgFileName: Bad.dat
numPos: 68
numNeg: 49
numStages: 16
precalcValBufSize[Mb] : 2048
precalcIdxBufSize[Mb] : 2048
stageType: BOOST
featureType: LBP
sampleWidth: 30
sampleHeight: 10
boostType: GAB
minHitRate: 0.995
maxFalseAlarmRate: 0.5
weightTrimRate: 0.95
maxDepth: 1
maxWeakCount: 100===== TRAINING 0-stage =====
<BEGIN
POS count : consumed 68 : 68
NEG count : acceptanceRatio 49 : 1
Precalculation time: 0.006
+----+---------+---------+
| N | HR | FA |
+----+---------+---------+
| 1| 1| 0|
+----+---------+---------+
END>
Training until now has taken 0 days 0 hours 0 minutes 0 seconds.===== TRAINING 1-stage =====
<BEGIN
POS count : consumed 68 : 68
Train dataset for temp stage can not be filled. Branch training terminated.C:\cars>pause
Для продолжения нажмите любую клавишу . . .
Собственно вопрос - что не так?
Почему он останавливается с ошибкой через 5 минут учебы?
Спасибо. -
В компанию "Ситроникс" (sitronics-cams.com) требуется программист С/С++ для разработки приложений систем машинного зрения.
Требования:- хорошее знание С/С++, openCV для windows или linux систем.
- опыт использования любой системы контроля версий
- примеры кода для ознакомленияПлюсом будут:
- знание Python, Java, matlab
- опыт самостоятельной разработки алгоритмов машинного зренияУсловия:
- офис рядом с м. Петровско-Разумовская
- полное соблюдение ТК РФКомпенсация обсуждается индивидуально с каждым кандидатом..
-
Здравствуйте, для JAI - одной камеры нет похожего рабочего примера?
-
Можно, но только не средствами Питона. Надо собрать OpenCV из исходников с дебажной инфой и посмотреть что выбирается в cap.cpp
Решил. Помог совет отсюда: http://stackoverflow.com/questions/11699298/opencv-2-4-videocapture-not-working-on-windows
последовательность действий такова:
копируем все файлы из \opencv\sources\3rdparty\ffmpeg в site-packages и\или прописываем путь до них в PATH.
затем переименовываем opencv_ffmpeg.dll в opencv_ffmpegXYZ.dll где X.Y.Z - версия openCV. в моем случае 2.4.10 и файл назывался opencv_ffmpeg2410.dll.
После этого по прежнему ничего не работает.
Далее идем в opencv\build\x64\vc10\bin и копируем opencv_ffmpegXYZ_64.dll, заменяем им ранее скопированный opencv_ffmpeg_64.dll. Именно так, иначе не работает, т.к. файлы opencv_ffmpeg_64.dll из папок \sources\3rdparty\ffmpeg и build\x64\vc10\bin различаются.
После этого все заводится.
Моя конфигурация: Win 8.1x64 Python 2.7x32 openCV 2.4.10x32
-
ffmpeg штука хитрая. У меня есть файлы, сжатые кодеком lagarith (сжатие без потери качества). Если рядом лежит opencv_ffmpeg.dll, то они не проигрываются. Если убрать эту dll из папки, то проигрываются. Почему? Потому что ffmpeg не умеет этот кодек, а avi контейнеры понимает. А сам кодек, если не ошибаюсь, вообще как vfw фильтр в систему ставится вместе с K-lite codec pack.
Думаю, что проблема где-то у тебя в системе, с твоим набором кодеков. Такое очень трудно будет решить нам со стороны. попробу запустить на другом компе, на нескольких разных компах. А потом сравнить их, если где-то проиграется.
мда.. а можно как-то это отдебажить? посмотреть версию кодека который питон пытается использовать, например в процессе захвата...
-
Гм. А файл-то открывается? Что будет, если абсолютный путь к нему указать?
открывается. абсолютный путь проблему не решил.
Заметил одну штуку... ставил ffshow. после этого стали захватываться некоторые avi. а mp4 - нет.
потом поставил ffmpeg. те авишники что раньше захватывались, захватываться перестали. сейчас поставил K-lite codec pack.
Теперь ничего больше не захватывается, кроме встроенной в ноутбук web-камеры.
-
Скорее всего кодеки не установлены.
Поставьте K-Lite codec pack, думаю должно быть достаточно.
поставил, перезагрузил - без результата. файлы открываются медиапроигрывателями, а openCV - не хочет...
вот код - примитивный-
import numpy as npimport cv2cap = cv2.VideoCapture('video2.avi')#cap = cv2.VideoCapture(0)ret, frame = cap.read()print 'ret=',retwhile(ret):# Capture frame-by-frameret, frame = cap.read()cv2.imshow('frame',frame)if cv2.waitKey(1) & 0xFF == 27:breakcap.release()cv2.destroyAllWindows()с web- камеры все захватывается хорошо -
А не подскажете как все выглядит в связке Python 2.7 + OpenCV 2.4.10 проблема та-же не захватываются mp4, flv и некоторые avi, как и у топикстартера переименование файлов не помогает.
-
разобрался. в примере motemp.py в папке samples для питона метод используется работает и из текста примера понятно как. Грустно, что из документации на docs.opencv.org ничего не понятно. Буду искать более детальный справочник по opencv.
-
смотрю cv2.updateMotionHistory(silhouette, mhi, timestamp, duration) на docs.opencv.org вместо silhouette подставляю картинку такую-же как и mhi - выпадает с сообщением
OpenCV Error: Bad type of mask argument () in cvUpdateMotionHistory, file ..\..\..\..\opencv\modules\video\src\motempl.cpp, line 54Traceback (most recent call last):File "C:/Users/ataranov/Downloads/opcvDistr/opencv/sources/samples/python2/edge.py", line 47, in <module>cv2.updateMotionHistory( img, m_motionHistoryImage, 200, 100 )cv2.error: ..\..\..\..\opencv\modules\video\src\motempl.cpp:54: error: (-208) in function cvUpdateMotionHistoryне знаю как быть и где почитать про это...
-
здравствуйте. Нужно отслеживать автомобиль появляющийся из-за горизонта. однажды будучи захваченным, он должен продолжать отлеживаться, даже если остановится, а потом продолжит движение. Судя по мануалам каскады хаара мне не очень подойдут. Экспериментирую в питоне с updateMotionHistory но ругается на то, что не подходит ему первый аргумент.
Подскажите, в каком направлении двигаться..
Спасибо.
Сборка OpenCV 2.4
в OpenCV
Опубликовано · Report reply
Пытаюсь собрать Opencv 2.4.11 с TBB и IPP в надежде что это уменьшит тормоза моего приложения
Если кто знает, просветите пожалуйста насчет следующих моментов:
- встречал посты где люди пишут, что начиная с версии OpenCV 2.4.5 нет необходимости в сборке с TBB, якобы автоматом будут задействованы методы, которые используют мультрединг, так-ли это?
- я с первого раза собрал Opencv 2.4.11 с TBB под студию 2013 с родным компилятором студии. посмотрел getBuildInformation() - TBB задействовано, но прироста производительности я не замечаю - как было 60 мс на один проход цикла, так и осталось. Что с TBB, что без него, загрузка всех 4-х ядер процессора равномерная.
- при попытке собрать и с TBB и с IPP компилятор валит ошибки вида: Error 95 error LNK1181: cannot open input file '..\..\lib\Release\opencv_calib3d2411.lib' C:\opencv\build_tbb_ipp\modules\ocl\LINK opencv_ocl - хотя делаю все так-же, с чем это может быть связано?
- в скомпилированной директории я не нахожу файлов #include <opencv2/highgui/highgui.hpp> и #include <opencv2/opencv.hpp> и дело не в путях , в получившейся в рез-те компиляции папке build этих файлов *.hpp нет в принципе. ЧЯДНТ?
Спасибо.