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

maxfashko

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

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

  • Посещение

  • Days Won

    2

maxfashko last won the day on March 15

maxfashko had the most liked content!

Репутация

5 Новичек

О maxfashko

  • Звание
    Эксперт

Посетители профиля

395 просмотров профиля
  1. Добрый день. Подскажите пожалуйста, имеется ли достоверная информация на тему сравнения точности обученных моделей на grayscale и RGB изображениях. Может личный опыт в данном вопросе? Насколько может различаться точность при классификации объектов сверточными сетями, в зависимости от используемого цветового пространства? Понимаю, что вопрос затрагивает множество факторов, относящихся к самим данным, но есть ли что-то от чего можно отталкиваться в данном вопросе?
  2. Работа с float изображением

    Похоже, что понял, как это дело должно выглядеть: FOV(w) = arctan(W / fy) FOV(h) = arctan(H / fx), где: H - будет размер картинки fx - значение из матрицы калибровки внутренних параметров 2.3815068922917403e+03 0. 1920 0. 2.3815068922917403e+03 1080 0. 0. 1. Вот и получается, что мой угол обзора камеры равен 77,4 и 48,78. Вот только в даташите указано, что FOV = 94 (это я как понимаю диагональ), если посчитать мои значения, выйдет 91.7. Это нормально?
  3. Работа с float изображением

    Имеется отснятое видео шахматной доски, камерой, которая будет использоваться (видео очень долго обрабатывает, пришлось взять только часть изображений из отснятого). Воспользовался программой для калибровки, расположенной по адресу: opencv_dir/samples/cpp/tutorial_code/calib3d/camera_calibration/ https://yadi.sk/i/Bv0iUR9j3GahHm Изменил конфиг только для расположения изображений калибровки. Настройки доски не менял. Получил на выходе xml файлик с конфигом https://yadi.sk/d/56EX60qE3Gagqp Камера используется в Phantom 4 (4к) В спецификациях производитель пишет: То есть теперь для того чтобы мне найти вертикальный и горизонтальный углы обзора необходимо воспользоваться формулой: H = 2*arctan(35/2*2.8)= arctan(12.5) = 85 Что-то не похоже на правду. Мне необходимо для расчета FOV брать данные, которые получены при калибровке? Если да, то как будет выглядеть процедура определения углов зрения?
  4. Работа с float изображением

    Спасибо!
  5. Работа с float изображением

    Не до конца понял, как вычислить тангаж по Вашему методу. С креном все ясно: Берем две точки прямой, характеризующую линию горизонта, отнимаем их и вычисляем arctan, переводя в градусы. В случае расчета тангажа известно только расстояние между двумя прямыми: линией горизонта, которую мы получили аппроксимацией (неба, земли) и линией, характеризующей продольную ось бпла. По каким формулам происходит расчет?
  6. Работа с float изображением

    С креном понятно, разобрался, а что насчет тангажа? Как коеффицент угловой меры от пикселя выразить? Как расстояние пересчитать на угол раствора?
  7. Работа с float изображением

    Да, отклонения по крену
  8. Работа с float изображением

    В целом то, что у меня получилось похоже на правду, но со странностями. Я что-то упустил? # -*- coding: utf-8 -*- import numpy as np import cv2 image = cv2.imread('../data/segment_video/igm_0.jpg') img = cv2.dilate(image, np.ones((8,8), np.uint8), iterations = 1) img = cv2.blur(img,(3,3)) img = cv2.Sobel(img,cv2.CV_8U,1,1,ksize=5) gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) ret, thresh = cv2.threshold(gray,127,255,cv2.THRESH_BINARY) _, contours, _ = cv2.findContours(thresh,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE) cnt = contours[0] # then apply fitline() function [vx,vy,x,y] = cv2.fitLine(cnt,cv2.DIST_L2,0,0.01,0.01) # Now find two extreme points on the line to draw line lefty = int((-x*vy/vx) + y) righty = int(((gray.shape[1]-x)*vy/vx)+y) #Finally draw the line cv2.line(img,(gray.shape[1]-1,righty),(0,lefty),255,2) cv2.imshow('result',img) cv2.imshow('img',image) cv2.waitKey(0) cv2.destroyAllWindows() Линия вписывается в зависимости от blur, чем выше значение, тем точнее. Исходное, blur(3,3), blur (10,10)
  9. Работа с float изображением

    Мы все это проделываем ведь с исходным изображением? Получается, что в результате работы Sobel у меня не будет тогда контуров захватывающих границы изображения (верх, левая, правая)? Как то это все тянет на долгие вычисления...
  10. Работа с float изображением

    Я думал сделать это через контур,а затем у scipy есть sp.polyfit(). И если взять полином первой степени то получу прямую. Как реализовать Ваш метод не допонимаю
  11. Работа с float изображением

    Да, глупости пишу... Мне вот что не понятно, как выбрать определенный отрезок от найденного контура на изображении, чтобы затем с ним работать? Например отрезок обведенный красным. Или есть гораздо более простой способ получить линию, разделяющую два цвета, для последующей аппроксимации?
  12. Работа с float изображением

    День добрый. Ситуация поставила меня в тупик: # имеем изображение cv2.LUT(img_3ch,label_colours,result) result = result.astype(float)/255 #теперь, чтобы работать с изображением его необходимо перевести в int result_int = result.astype(int) #в конечном итоге, какими бы преобразованиями я не пользовался, np заполняем массив нулями result_int = result.astype(np.int64) #конечной целью служит выделить контур на изображении gray_image = cv2.cvtColor(result_int, cv2.COLOR_BGR2GRAY) ret, thresh = cv2.threshold(gray_image, 127, 255, 0) im2, contours, hierarchy = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
  13. ENet

    Самое смешное, что мне необходимо не брать в учет показания датчиков, а выстраивать свои показания, опираясь только на картинку
  14. ENet

    Кстати, насчет областей. на данный момент у меня всего два класса на изображениях. В будущем я захочу добавить к примеру воду, леса и т.д. Придется выкидывать тренировочную выборку, которая используется сейчас? Так как на данных изображениях могут быть: вода, лес, дома. Они будут вносить ошибку? Или есть способ использовать в последующем данную выборку совместно с расширенной (многоклассово-размеченной)
  15. ENet

    Расскажите подробнее пожалуйста об этом. Как вариант, стоит рассмотреть данный вариант. Тут суперпиксели? А сетка потом будет больше областей распознавать, пока два класса только. Поэтому ее взял, и на небе с землей стал обучать пока. Кстати, каким образом можно задать заранее сегменты неба (синий) и земли (зеленый), если предварительно не известно, что на изображении?
×