Вот несколько общих советов высокого уровня о том, как начать работу.
В общем, то, что вы делаете, является проблемой оптимизации. Эти алгоритмы используются для множества проблем, и есть несколько известных способов сделать это. Они сводятся к этому
- Создайте функцию подсчета очков, которая может рассказать вам о том, насколько хорош результат. Чем больше число, тем лучше.
- Создайте функцию, которая принимает входные данные и некоторые параметры, и производит вывод, который может быть набран.
- Это важно: функция подсчета очков должна быть несколько непрерывной на основе параметров для # 2. Если у вас было два параметра, и они были построены в 3D (param1, param2, score), это выглядело бы как ухабистая поверхность с большими холмами.
- Теперь ваша задача - найти максимум на поверхности. У вас может быть более двух параметров - в этом случае у вас есть N-D поверхность, но идея одна и та же
Посмотрите, как поднимаются горы, генетические алгоритмы или проблемы оптимизации. Хорошая книга python с кодом - «Программирование коллективного интеллекта» Тоби Сегарана.
Вообще пониженное что-то вроде:
- сделать хорошую догадку параметров
- Создать вывод и оценка
- Измените один параметр несколько
- Score выхода
- Если лучше идти в этом направлении, если это хуже, измените направление.
- Если вы застряли - пойдите в другое место на поверхности и попробуйте там.
- Если вы нашли локальный максимум, но это не достаточно хорошо - куда-нибудь еще и попытаться там
Посмотрите реальные алгоритмы, хотя они несколько более сложным, чем это.
Многие исследования сводятся к тому, чтобы придумать хорошую функцию подсчета очков и хороший способ узнать, какие параметры будут работать и как их использовать.
Использование этой общей схемы - просто попробуйте яркость/контрастность в качестве функции генерации выходного сигнала (яркость и контрастность являются входами). Для подсчета очков вам понадобится способ сравнения двух фотографий для матча - чтобы начать, выберите что-то простое (возможно, жесткий код для проверки).
Как только вы это сделаете, вы получите больше информации о том, как это сделать, и можете вернуться к документам для идей.
+1 для ссылки на документы. Я снял первый и обнаружил, что это тоже над моей головой. Я думаю, что хороший подход для вас попытается просмотреть ссылки и посмотреть, какие прошлые документы они приводят, в частности, в разделе 4.2. Если вы вернетесь достаточно далеко, вы можете найти что-то более понятное или, по крайней мере, поможет вам понять новые подходы. – misha