Sep 14, 2017 19:00
Вторую неделю развлекаюсь питоном в паре с sklearn. Постепенно заработал классификатор дневных , ночных и сумеречных фото. Решение построено на random forest. В качестве признака использую среднее значение яркости, медиану, стандартное отклонение и еще что-то... Пробовала добавлять гистограмму яркости квантованную по разному количеству уровней. Возможно, вернусь к этому варианту, либо просто добавлю в качестве доппризнака.
Написала пару скриптов для обработки исходных изображений, сохранения и загрузки датасетов (извлеченной из фото информации в табличной форме), сохранения и загрузки модели, также добавила блок для быстрого тестирования, притом есть возможность использовать исходный датасет, а можно поиграться с сырыми фотографиями. Вроде все ок, придется где-то скорректировать поведение - набором отдельных фотографий для пограничных случаев.
Плохо срабатывает на очень темных сумерках и засвеченных ночных фото.
В инете нашла пару казалось бы рабочих решений, первое как раз использует вариант с квантованием по уровню яркости, модель построена на опорных векторах. Работает очень медленно, но в ряде случаев, после длительных танцев с бубнами и переобучения, можно добиться неплохого результата.
Второе решение, использовала как референсное, чтобы было от чего оттолкнуться. Там задача решается на основе кагловского датасета для разделения собак и кошек. При этом делается вывод, что на основе цвета их разделить сложно (кто бы сомневался), а если хотите узнать как, то надо заплатить за курсы. Ох...
В целом, sklearn оставляет очень благоприятное впечатление, во всяком случае, документация превосходна.
Теперь стоит задача переписать все это счастье на плюсах и она ставит меня в тупик вот уже полтора дня. Дело в том, что уже есть разработанный интерфейс, но не для того и не там, и как в него встроиться я пока не понимаю.
Написать с нуля заняло бы несколько часов, привести же в порядок уже существующий код, вырезав из него все лишнее, и встроить свое решение занимает длительное время.
python,
c++,
работа