Однако после перевода алгоритма на Java обнаружились «сюрпризы». В частности, цвет метки в мобильном приложении изменился, появились ложные метки, а также изменился размер. Опытным путем мы выяснили причины – при переносе изменился размер фотографии, добавился прозрачный слой, а формат стал не RGB, а BGR (тип субпиксельного макета). В итоге приняли решение продолжить работу и дописывать мобильное приложение, а для корректного отображения с помощью специальных программ конвертировали все изображения в нужный формат.
Обычно тяжелые алгоритмы в телефоне жрут батарейку. Как решали эту проблему?
Принимая во внимание тот факт, что алгоритм должен работать на мобильном устройстве оффлайн, мы подбирали вычислительную сложность модели таким образом, чтобы она и училась хорошо, и не была слишком сложной и требовательной к ресурсам.
Так же мы оптимизировали размер пакета с алгоритмом в рамках мобильного приложения, что позволило сократить размер приложения и нагрузку на уровень заряда.
Очень интересная работа! Скажите, для распознавания контуров и сегментации изображений вы использовали готовые алгоритмы или создавали их сами под данную задачу?
Начали с того, что в целом убедились, что задача имеет известное решение. Затем самостоятельно разработали алгоритмы и итеративно их улучшали для получения необходимой точности.
Вы пишете, что для обучение потребовалось 300 фотографий. Обычно для машинного обучения требуются гораздо больше данных. Разве трехсот фотографий хватило?
Мы использовали семантическую сегментацию для распознавания дерева. В этом случае классифицируется каждый пиксель (дерево/фон) и для таких задач, как правило, достаточен небольшой набор данных
Очень интересная стать. Подробно описали все свои гипотизы и результат. 👍