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

Smorodov

Главные администраторы
  • Количество публикаций

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

  • Посещение

  • Days Won

    346

Сообщения, опубликованные пользователем Smorodov


  1. Готовых решений не знаю, но можно попробовать слепое разделение источников (blind source separation).

    Снимаете 2 кадра A и B.

    делаете из них 3 смеси в разных пропорциях.

    I1=k1*A+(1-k1)*B

    I2=k2*A+(1-k2)*B

    I3=k3*A+(1-k3)*B

    На самом деле это будут смеси из 3 изображений A, B, и виньетки.

    Раскладываем на 3 источника, затем вычисляем коэффициенты искажения цвета. 

    Что то типа этого: 

     

    • Like 1

  2. Да, disparity как то не сошлось. Видимо картинка не подходящая, квадратики гладкие и регулярные текстуры. Не то что любят алгоритмы стерео матчинга. 

    Посмотрите примеры здесь: https://answers.opencv.org/question/117141/triangulate-3d-points-from-a-stereo-camera-and-chessboard/  может наведет на мысли. 

    А почему калибруете через матлаб ? OpenCv - шная тулза не подходит ? Можно попробовать откалибровать opencv-шным и сравнить коэффициенты.

    • Thanks 1

  3. А можете привести схему эксперимента? Как установлены камеры, расположение и размеры объекта. А то вы привели результат работы алгоритма, а что должно быть мы не знаем. Может быть еще минимальный запускаемый кусок кода с тестовым изображением для пощупать проблему.

    • Thanks 1

  4. это можно, но тогда на изображениях должна быть одна и та же картинка, отличающаяся только поворотом, ну может немного смещенная.

    Короче, если взяв эти деве картинки вы на глаз можете определить поворот, то и комп сможет, если нет, то нет. 

    • Thanks 1

  5. У вас он даст угол между двумя изображениями. Они должны перекрываться. Если работать по последовательности кадров, то углы нужно суммировать. 

    А тот ли это угол ? Хм... ну это вам лучше знать :) Задача то вами ставится.

    • Thanks 1

  6. Там в ответе про угол обзора камеры, а не про поворот вообще. 

    Можете схему эксперимента обрисовать, чтобы понятно было относительно чего меряется угол ? Одинаковые ли изображения ?

    Просто по одному произвольному изображению ничего о камере сказать нельзя. Есть специально созданные картинки, типа шахматки или маркеров для дополненной реальности, но о них мы все знаем.


  7. Ну если исключить поиск угловых точек кузова, путем кликания мышкой при установке камеры. То VP ищется на раз.

    Что нам это дает? 

    Нам это дает изменение масштаба вдоль кузова.

    Это нам дает линейку с переменным шагом вдоль кузова.

    И две линейки с постоянным для данной глубины шагом.

    Мы знаем что ящики стоят на полу, значит нижняя грань находится в плоскости пола.

    Можно найти расстояние в относительных единицах (один из габаритов кузова)

    Можно найти ширину и высоту ящиков (по передним граням).

    Можно найти и глубину, если видна одна из боковых граней. 

    Вот сетка, порисуйте )

    81i0ti8J+ML._AC_SL1500_.jpg

    Но это только геометрия. 

    Извлечь ребра из прлузеркальных конструкций более интересная задача.


  8. А если бряку поставить перед местом ошибки и вручную протопать и посмотреть вокруг ?

    На всякий случай прицепил каскады от моей версии, сейчас сам попробую загрузить у себя. 

     

    UPD: прогнал у себя на коде:

       std::string cfname = "lbpcascade_frontalface.xml";
        cv::CascadeClassifier faceCascade;
        faceCascade.load(cfname);

    Все без ошибок. Студия 2019, виндовс 10, opencv 4.2 .

     

    lbpcascade_frontalface.xml


  9. Обучил свой вариант PR Net, задеплоил на C++ под ncnn. Проект можно скачать здесь: https://github.com/Smorodov/PrNet_cpp  . 

    Сетка работает неплохо, но хотелось бы с текстурой. Текстуру я сдираю с маской видимости. Но хотелось бы более красивой картинки. Есть мысль, что GAN в данном случае могла бы помочь. Может кто встречал что-нибудь по теме?

     

     

    Скриншот 2020-03-30 19.10.28.png

×