4000 грн на місяць

А де наші АйТі, коли вони так потрібні?

  • Автор теми Автор теми Jonhson
  • Дата створення Дата створення
Да все норм у питона с отрисовкой. Это с той стороны какие то проблемы.
Спасибо за совет об алгоритме калмана. Сегодня пол дня проковырялся в этой ерунде. Пришел к выводу, что есть два пути:
1. ресурсная одноплатка+нейронка (условная yolo tiny 4). Обучаем модель, и трекаем что хотим.
2. Наш путь самурая - лепим из говна и палок. Т.е. нересурсный условный rp4 + cv2 + матан.
Мы не ищем легких путей, поэтому берем любой быстрый алгоритм трекинга, и добавляем к нему фильтр калмана. Это чтобы реализовать самый сложный сценарий, где двигается камера + двигается цель + цель хитрожопая, и может заныкаться за ближайший куст.
В моем понимании это так - берем тот же mossi который быстро трекает цель. Добавляем калмана.
Дальше: при каждой итерации запоминаем где будет находиться цель по калману. При следующей итерации, сравниваем то, что мы трекнули, с тем, что вернул калман на предыдущей итерации.
Если совпало - ок, идем дальше
Если не совпало - проверяем область, которую вернул калман.
Ничего нет - ок, идем дальше
А если нашли- значит, трекинг проебался, и потерял цель. Возвращаем куда нужно.
Попробую шо-нибудь сочинить.
приятно удивлён. Если б вы были моим студентом, то вы бы сдали курсовую досрочно.
Из собственного интереса, будет куча наводящих вопросов.
 
Попробую шо-нибудь сочинить.
у меня пока один вопрос - всё описанное уже опробовано на устростве?
yolo нуждается в GPU. А этого, насколько я понял у вас нет.
Если интересно, рекомендую линейку jetson nano. Не реклама. Просто только про это слышал.
Туда же понадобится оптимизатор нейронок. гугли - TensorRT. Работает быстрее, занимает меньше памяти.
 
приятно удивлён. Если б вы были моим студентом, то вы бы сдали курсовую досрочно.
Из собственного интереса, будет куча наводящих вопросов.
Мені в цій концепції неподобається одно - пропонується використовувати модель. тобто, треба дохуя моделей, і якщо ціль не вкладається в модель - вона не буде розпізнана.
В мене трохи інше бачення процесу.
<-----RF video(PAL)|
RC-<->RF<->[маліна] -|-<->RC bridge<->[FC]
.......................................|<[CAM]

Нетреба юзати маліну автономно. Мова не йшла про ланцет, ми розглядали тупий FPV дрон (який був за $500, а став за $1000 зі втратой механічних ТТХ).
При роботі з FPV - оператор бачить ціль. Проблеми виникають при наближенні, коли втрачається зв'язок, чи противник вмикає РЕБ.
Тут треба використовувати не модель, а алгоритим "лассо" для об'єкта.
Для цього одноплатник повинен підмішувати службові дані в відеосигнал. А оператор - мати мишку (так. пульт теж ускладнюється) і мати змогу тицнуть на потрібний об'єкт. Після чого - його виділяє лассо і далі може вести.

Не забувайте ж, що об'єктів може бути більше за один, і вони можуть бути всі різні.

P.S. А ще гірше - всі однакові, але, хтось з них вже готов, і його атакувати нетреба.
 
у тя файл есть? Залей его на драйв и дай линку.
ПКМ в телеграмі на відео. Зберігти. Все.

або тут
1708215670160.webp
 
Не забувайте ж, що об'єктів може бути більше за один, і вони можуть бути всі різні.

P.S. А ще гірше - всі однакові, але, хтось з них вже готов, і його атакувати нетреба.
вопросы правильные.
 
псб, понял.
стоит брать видосы с фпв-камер. Оно ближе к реальности будет.
Це і є з FPV, тільки з іншого дрона.
З FPV дрона переслідувача - буде заважати работа оператора і службові дані на моніторі (які підмішує дрон, там маркер центру, який в мене постійно проходив фільтр як питома людина і тракер починав відстежувати маркер, бо першим його побачив.
 
не хочу обидеть глубокоуважаемого ресета,
но мне интересней создать решение для фпв-дрона.
Увидел цель, локализовал цель, и забыл. Тут да - еще САУ от трекера нужно синтезировать, но ведь только такое решение и устроит.
да, знаю - шум + слабый аналоговый сигнал... Но разве мы тут пальцем деланные?
 
я думал что под него решение продумываем?
смысл делать трекер для наблюдающего дрона?
Так ти продумуєш рішення для САУ в умовах відстеження таргет парам.
А підставити хочеш умови - в яких вже є САУ (у вигляді оператора), який робить всю роботу за тебе. Вже. Прямо втой самий час.

Тут або потрібно напедалити модель дрона і для дебага керувати моделлю, або брати чисте відео, де ціль не переслідується.

Взагалі - для початкового етапу то похуй, зараз питання на стадії "взагалі щось розпізнати". Тут канає будь-яке відео. Бажано - багато різних відео в різних умовах. Чьорний сілует на фоні снігу - то тепличні умови.
 
не хочу обидеть глубокоуважаемого ресета,
но мне интересней создать решение для фпв-дрона.
Увидел цель, локализовал цель, и забыл. Тут да - еще САУ от трекера нужно синтезировать, но ведь только такое решение и устроит.
да, знаю - шум + слабый аналоговый сигнал... Но разве мы тут пальцем деланные?
Це не FPV - це баражуючий боєприпас. "відпустив і забув".
Ти хочеш розробити дешевий аналог ланцета.FPV - це фьост пьосон віжн. Саме дрон, який виводить на ціль оператор, а не баражуючий автономний мисливець.
Мисливець то наступний етап, ти переплигаєш з задачі на задачу, починаючи вирішувати більш складнішу.
Це є помилка планування. Так не роблять проекти.
 
в принципе я знаю как сделать то, о чем говорю.
единственное, что я не знаю - получится ли реализовать это на устройстве?
хз что там у вас за малина, или jetson-nano?
Особенно интересно, если есть люди, котрые хотелибы сами тоже такое сделать.
Т.е. мне не пришлось бы реализовывать 100% R&D.

crisis вроде отгрыз кусок фильтра калмана. Чувствую его радость. Даже боюсь представить его восторг, когда он разберётся в Extended Kalmann Filter. - но это уже факультатив.
если он даже начнут собирать yolo + kalmann под устройство - мне чертовски будет интересно узнать о его успехах, и помочь - если что там спотконётся.
 
в принципе я знаю как сделать то, о чем говорю.
единственное, что я не знаю - получится ли реализовать это на устройстве?
хз что там у вас за малина, или jetson-nano?
Я б рекомендував використовувати різні підходи для різних галузей застосування.
Для трека з FPV в якості "останьої милі" (в даному випадку - останіх метрів) - достатньо менш потужної платформи, бо частину роботи виконує оператор, і таргет не є абстрактною моделлю, а є еонкретним об'єктом, який для САУ - є вхідним параметром, бо його вказує оператор.
Для автономного пошуку без оператора - САУ може бути та сама, але об'єкт шукається самою САУ.
Відміни певні будуть саме в пошуку таргет обжект.
Особенно интересно, если есть люди, котрые хотелибы сами тоже такое сделать.
Т.е. мне не пришлось бы реализовывать 100% R&D.
Їх повний фейсбук
1708252977341.webp
 
у меня пока один вопрос - всё описанное уже опробовано на устростве?
yolo нуждается в GPU. А этого, насколько я понял у вас нет.
Если интересно, рекомендую линейку jetson nano. Не реклама. Просто только про это слышал.
Туда же понадобится оптимизатор нейронок. гугли - TensorRT. Работает быстрее, занимает меньше памяти.
Про нану читал, более того, нашел таблицу производительности разных девайсов при работа с cv2+нейросети. На руках пока только 4 малина, с ней только голый cv2.

в принципе я знаю как сделать то, о чем говорю.
единственное, что я не знаю - получится ли реализовать это на устройстве?
хз что там у вас за малина, или jetson-nano?
Особенно интересно, если есть люди, котрые хотелибы сами тоже такое сделать.
Т.е. мне не пришлось бы реализовывать 100% R&D.

crisis вроде отгрыз кусок фильтра калмана. Чувствую его радость. Даже боюсь представить его восторг, когда он разберётся в Extended Kalmann Filter. - но это уже факультатив.
если он даже начнут собирать yolo + kalmann под устройство - мне чертовски будет интересно узнать о его успехах, и помочь - если что там спотконётся.
Это не я его, а он меня отгрыз. Алгоритм применил, ничего сложного там нет - идет из коробки cv2.KalmanFilter(4, 2)
Он работает. На тестовых видео я теперь получаю момент, когда поведение условной цели начинает отличаться от прогнозируемого. Однако дальше уперся.
Предположим есть видео где цель равномерно движется по линейной траектории, но периодически закрывается сторонними объектами (мое первое видео, где пидр сьебывает от дрона, и периодически оказывается закрыт уличными столбами). Видео Ресета тоже подходит - движение цели неравномерно, но тоже закрывается условными кустами.
Применяем любой алгоритм трекинга cv2 и получаем такой результат: в момент закрытия цели сторонним объектом, с высокой степенью вероятности трекинг перенесется на объект, и потеряет цель. Процент потери зависит от алгоритма, но реально большой.
Применяем калмана, и получаем триггер события, когда условная цель сховалась за елкой. А дальше затык. К этому моменту контуры цели уже частично слились с сторонним обьектом. Мы можем поискать цель в других местах, но мы уже тупо не знаем, как она выглядит. Трекать нечего.
В голову лезут только костыли, тип сохранять контуры цели через определенный интервал, и искать потом используя их, но это дичь лютая. Пока мысли кончились.
В голове зреет мысль, шо я занимаюсь херней, и нужно брать нану, и лепить трекер через какой-нибудь yolo deepsort.
 
Применяем калмана, и получаем триггер события, когда условная цель сховалась за елкой. А дальше затык. К этому моменту контуры цели уже частично слились с сторонним обьектом. Мы можем поискать цель в других местах, но мы уже тупо не знаем, как она выглядит. Трекать нечего.
В голову лезут только костыли, тип сохранять контуры цели через определенный интервал, и искать потом используя их, но это дичь лютая. Пока мысли кончились.
В голове зреет мысль, шо я занимаюсь херней, и нужно брать нану, и лепить трекер через какой-нибудь yolo deepsort.
Для аналізу затримки відображення на композит. Можеш розібрати по кадрам і подивитись відставання. Правий монік - з композитного виходу маліни, що зліва знизу.

Для маскінгу (це коли об'єкт прикритий) є декілька підходів. Чистими лібами відмахатись - очікувано не вдастся.
Треба сочіняти бізнеслогіку поведінки дрона.
Наприклад, підхід 1: ми заводимо віртуальну систему координат, і якщо об'єкт зник - деякий час намагаємось літати по колу навкруги точки, де він зник і чекати побачити його з іншого боку.
Підхід 2: повертаємось до політного завдяння - набор висоти і новий пошук
Підхід 3: деякий час збурігаємо траекторію політу, через таймер переходимо до п.2 - набір висоти і новий пошук.

Для усих трьох - при втраті цілі потрібно припинити трекінг і констатувати втрату об`єкту.
На тому етапі, на якому ця робота зараз - просто достатньо досягти, щоб трекер не хапав кущеря при "злитті". Треба трешолд - коли ціль вже не ціль.
Зараз ця поєбота взагалі втрачає зв'язок і пиздує до зіткнення прямо. З чим зіткнення - з чим повезе.

P.S. і спробуй лассо. Ну не тієї це потужності платворми, щоб розгортати там якийсь продвинутий пошук по моделям.
Коли об'єкт знайдено - треба створити його унікальний відбиток, на всих тих відео людина спокійно знаходить куди подівся об'єкт. Це тому, що ми використовуємо більше даних - середній колір об'єкта, його контури, штампи інших об'єктів (наприклад, стовп - дуже сильно відрізняється від людини, ні хто не сплутає людину і стовп по тверезому).
Треба дивитись як представлений об'єкт в трекері, які в нього є властивості і як ми можемо їх використовувати.
 
Останнє редагування:
Для аналізу затримки відображення на композит. Можеш розібрати по кадрам і подивитись відставання. Правий монік - з композитного виходу маліни, що зліва знизу.
А отставание таки есть... На глаз около двух десяток. Это по другому делается - запускаешь таймер, и фотаешь цифры, напрямую с с таймера, и с экрана, который выводит изоражение с камеры (камера тоже смотрит на таймер). Увидишь разницу с точностью до сотых. Но не заморачивайся - мне тоже камера пришла, буду ковырять.
Хер знает, критичное отставание или нет. Имхо не критично.

Для маскінгу (це коли об'єкт прикритий) є декілька підходів. Чистими лібами відмахатись - очікувано не вдастся.
Треба сочіняти бізнеслогіку поведінки дрона.
Наприклад, підхід 1: ми заводимо віртуальну систему координат, і якщо об'єкт зник - деякий час намагаємось літати по колу навкруги точки, де він зник і чекати побачити його з іншого боку.
Підхід 2: повертаємось до політного завдяння - набор висоти і новий пошук
Підхід 3: деякий час збурігаємо траекторію політу, через таймер переходимо до п.2 - набір висоти і новий пошук.
Для усих трьох - при втраті цілі потрібно припинити трекінг і констатувати втрату об`єкту.
Это как раз понятно. Нужно писать норм обертку для бизнес логики, шоб умела в разные сценарии (+изобретать формат хранения сценария), поддерживала модульность, итд. Это как раз не должно быть проблемой, я трохи в ООП умею, и с какой стороны тыкать палкой представляю. До войны херней маялся - слепил кораблик для рыбалки на ардуино ) Сценарий автопилота (всякие полярные+декартовы координаты ЖПС, телеметрия и прочая лабуда). Писать шото хоть немного объектно-ориентированное на ардуино (по факту си), когда ты этот си в глаза не видел, бррр. Как вспомню, так вздрогну.
Я может не шарю, но здесь такая же херня, только левел ап. (к Х+Y добавился Z). Ну и писать можно на чем нибудь нормальном, что хоть слова полиморфизм и инкапсуляция понимает.
Фактически, учитывая твое видео, получается шо
1. Берем готовый камик за 500 баксов (любой).
2. Отрезаем от него приемник. Там будет скорее всего crossfire или шото такое.
3. Припаиваем приемник в юарт малины через какую нибудь
⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.
ебалу.
4. Через такую же ебалу припаиваем в другой юарт sbus полетника.
5. Выкидаем родную фпв камеру, и ставим csi (с твоего видоса). Камеру прицепляем к малине. С композитного порта малины передаем PAL на полетник. Соединение полетника с видео передатчиком не меняется.

Дальше на малине пробрасываем первый юарт на второй (sbus с приемника пойдет через малину в полетник), и шарим видео с камеры на композитный выход.
Все блядь. Лететь уже можно. А остальное работа для программиста.
Цена всей этой суеты баксов триста будет. И веса грамм 50 (если с малины феном все лишние порты сдуть, или подобрать контроллер получше)
 
Назад
Зверху Знизу