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

iskees

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

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

  • Посещение

  • Days Won

    19

iskees last won the day on August 31

iskees had the most liked content!

Репутация

30 Эксперт

О iskees

  • Звание
    Эксперт
  1. СДК по распознаванию номеров сейчас много. Качество распознавания у них примерно одинаковое и развитие идет больше в сторону улучшения производительности. Года 3-4 назад камеры были 0.5Мп и 25фпс, сейчас уже fhd 40фпс при железе в лучше случае средненький i5. Но использует такие системы в основном ГАИ. И кроме самого распознавания номера им нужно еще и выявлять нарушения (замер скорости по кадру, проезд на красный и т.д.) которые еще и постоянно добавляются. На мой взгляд более остро сейчас стоит вопрос именно с последующей обработкой уже распознанных номеров, построение траекторий, привязка к местности и т.д.
  2. работает в такой комбинации: keras 2.2.2 tf 1.10.0 tf-gpu 1.10.0 numpy 1.14.5 может и после обновления будет работать, но пробовал обновлять tf и посыпались ошибки.
  3. Устанавливал таким образом: Visual studio 2017 с выбранными при установке python и anaconda Через conda установил tensorflow, tensorflow-gpu, keras Обучается без особых проблем на gpu, больше проблем было с импортом результатов в opencv (нет слоя flatten, chanal_first вместо chanal_last). Сверточные слои заработали только на Opencv 3.4.1, на 3.3.1 ошибок нет но результат всегда один (активирован последний нейрон выходного слоя), на 3.4.3 ошибка при вызове forward. Opencv в c# через обертку opencvsharp.
  4. Чистый "анализ изображения" тут мало пригоден, у целевого объекта нет особых отличительных признаков. Я вижу тут два варианта: "Классический" поиск объекта (hog, haar и т.п.) Глубокий сетки Работать должно и днем и ночью, ничего критичного тут нет. Но вообще хорошо бы при сборе этих ячеек красить уголки в яркий цвет и задача упросится в разы.
  5. Basler хорошие камеры. По картинке на порядок лучше "обычных" ip камеры. Но главное, с точки зрения последующей обработки, отсутствие артефактов от сжатия. Плюс еще много приятностей, типа: довольно быстрое получение кадра, с небольшой нагрузкой на cpu точное время каждого кадра удобный сдк usb подключение (одна fhd GigE камера дает большее 500мбит трафика, две камеры на одной сетевой карте уже будут мешать друг другу), ну и на фоне вебки, сменный объектив, хоть рыбий глаз накручивайте. Если бюджет позволяет, то берите.
  6. У меня подозрение на Sleep(), попробуйте просто засунуть его в бесконечный цикл и посмотреть нагрузку.
  7. Нет, эффект дисторсии не зависит от расстояния до объекта, но он больше проявляется на краях изображение поэтому лучше что бы тестовое изображение занимало весь кадр. Если вы не видите дисторсию глазами значит для вашей задачи она не имеет значения. Кроме того, на дорогих фиксах ее практически может и не быть, и сама камера может ее исправлять на "борту".
  8. Сделайте снимок на котором есть вретиакальный и горизонтальные прямые, та-же шахматная доска подойдет. И проверьте являются ли эти линии прямыми на изображении , можно в любом графическом редакторе начертить линию между двумя крайними точками и посмотреть совпадет ли она с изображением. Если искоренения есть то линии будут кривыми.
  9. Автономное движение робота.

    Таких функций нет. Все намного сложнее чем вам кажется и с одной камерой практически не реализуемо. Смотрите в сторону стерео ну или дальномеров\ледаров.
  10. Есть учебник А. Н. Лобанов "Фотограмметрия" 1984 год. Глава 9. Анализ одиночного снимка. Как раз на эту тему
  11. Модель конечно странная, мало того что жутко избыточная так еще и цветная хотя примеры одноканальные. ошибки у вас при тестировании. В этом месте # Преобразуем изображением в массив numpy x = image.img_to_array(img) x = 255 - x #Нормализуем изображение x = np.expand_dims(x, axis=0) вместо x=255-x это же инвертирование у вас там нужно делить на 255 что бы привести в диапазон 0-1 x =x/255.0 x = np.expand_dims(x, axis=0) это не нормализация а просто добавление одного изменения в массив ну и loaded_model.compile(loss="binary_crossentropy", optimizer="adam", metrics=["accuracy"]) делать не нужно сеть же уже готовая import numpy as np from keras.preprocessing import image from keras.models import model_from_json json_file = open("D:\\neuro\\NS.json", "r") loaded_model_json = json_file.read() json_file.close() loaded_model = model_from_json(loaded_model_json) loaded_model.load_weights("D:\\neuro\\NS.h5") img_path = 'D:\\neuro\\test\\circle\\2986.png' img = image.load_img(img_path, target_size=(150, 150), grayscale=False) x = image.img_to_array(img) x =x/255.0 x = np.expand_dims(x, axis=0) prediction = loaded_model.predict(x) if prediction<0.5: print('circle') else: print('square') img_path = 'D:\\neuro\\test\\square\\2976.png' img = image.load_img(img_path, target_size=(150, 150), grayscale=False) x = image.img_to_array(img) x =x/255.0 x = np.expand_dims(x, axis=0) prediction = loaded_model.predict(x) if prediction<0.5: print('circle') else: print('square') вывод: circle square Да и число эпох сделал 10 и батчсайз 128 что бы не ждать "пол часа"
  12. судя по svm.setKernel(SVM.RBF); у вас RBF функция, а HOGDescriptor принимает только линейную (https://docs.opencv.org/3.4.1/d5/d33/structcv_1_1HOGDescriptor.html). virtual void cv::HOGDescriptor::setSVMDetector ( InputArray _svmdetector ) virtual Sets coefficients for the linear SVM classifier. Ну и вызовите getDescriptorSize да сравните с размером вашего детектора.
  13. Вообще все книги на данную тему довольно однотипные, берите первую какую найдете. Есть хороший курс для начинающих "Введение в компьютерное зрение и глубокое обучение", читаемого на факультете ВМК МГУ в весеннем семестре 2017 года. На ютубе лежит.
  14. Пo C# OpenCV и linux: принципиальных сложностей там нет, emgu есть в Xamarin версии и спокойно запускается на Linux, Unix. Если проект написан только с использованием emgu, то ничего переписывать не придется. По в целом ANPR системам: на рынке(российском) есть несколько хороших продуктов, но все они рассчитаны больше на корпоративных клиентов (основной заказчик госсектор). Для "частников" особо ничего нет, связано это частично с высокой стоимостью и сложностью таких систем и частично с низким спросом. Под требования vash_sa (unix, русские номера, и железо типа малинки) вообще ничего нет, ни в виде сдк ни в виде готовых продуктов. В OpenSource нормального тоже ничего нет, есть много поделок типа: нашли номер соболем ( хааром, cnn) натравили на него tesseract и получили номер. Точность у них в лучшем случае 80-90%. Что бы выйти на хоты бы 95%, нужно потратить очень много времени и ресурсов, соответственно в отрытый доступ никто это не выложит.
  15. [Help] Работа с видео

    CopyFromScreen это пример метода который "встроен" в C#, в питоне есть аналоги. Можно вообще на заморачиватся, и взять vlc запустить там захват экрана и пустить все это в rtsp поток, который уже без проблем подхватит opencv.
×