В Google разработали нейросеть, с высокой точностью отделяющую объект от фона на изображении. Модель используется в портретном режиме съемки на Pixel 6.
При классической сегментации изображения каждый пиксель относится либо к переднему, либо к заднему плану. Такой тип сегментации плохо работает для мелких деталей, например, волос. В подходе Google интенсивность каждого пикселя представляет собой линейную комбинацию переднего плана и фона, что позволяет точно определить границы объекта и, следовательно, улучшить качество селфи в портретном режиме.
Разработчики обучили сверточную нейронную сеть, состоящую из последовательности блоков энкодер-декодер. Сначала с помощью MobileNetV3 и неглубокого (т. е. состостоящего из небольшого количества слоев) декодера формируется приближенная оценка линейной комбинации. Затем неглубокий энкодер-декодер и серия остаточных блоков уточняют линейную комбинацию.
Модель была обучена на датасете Light Stage, состоящем из высококачественных пар изображений фон/фон+человек.
Нейросеть работает в реальном времени на Pixel 6 с использованием Tensorflow Lite.