Сап ,bnw.Я тут пишу распознаватель и внезапно осознал что классические алгоритмы распознавания мне не подходят.Ведь Они все требуют предварительного обучения и дохуя тестовых примеров что неприемлемо.Я пытаюсь придумать свои алгоритм без этих недостатков.К сожалению Я пока что не могу записать его в символьном виде.Возможно вы мне в этом поможете.
Суть идеи в том чтобы выделить в изображении искомого объекта некие примитивы(признаки) и вести поиск по ним.Например если нам нужно отыскать автомобиль то мы можем задать следующие признаки:хотя бы 2 колеса,фары и номерная табличка.Если мы обнаружим все эти признаки на изображении,то скорее всего перед нами и вправду автомобиль.Плюс ко всему нам надо убедиться что колеса и фары принадлежат одному автомобилю а не двум разным.То есть должна быть еще одна функция которую я назвал модификатор дальности.Эта функция проверяет что два объекта находятся на определенном интервале друг от друга.Если система не может определить дальность до объекта(нет лидара) то оцениваются относительные размеры объектов.Соответственно если объекты попадают в интервал то функция возвращает 1,в остальных случаях от 0 до 1 в зависимости от величины несовпадения.
На выходе алгоритма получаем несколько признаков которые можно складывать,вычитать,умножать и делить.То есть наша программа работает таким образом.Ок,гугл,ищи мне 2 колеса,2 фары и номер "а777аа".Гугл по запросу создаст решающую формулу вида
ismycar=(iswheel(2)+isheadlight(2)+isnumber("a777aa"))*distancemod(1,2) где 1 и 2 - минимальное и максимальное расстояние между колесами.Затем наш гугл вычисляет результат для всех изображении и выдает то у которого ismycar больше.