Celebrity Look-Alike на Go

05.04.2025 Celebrity Look-Alike на Go

Один из моих проектов — сервис celebrity look-alike. Загружаешь фото, получаешь список знаменитостей, похожих на тебя.

Идея

Идея появилась после просмотра различных viral-приложений, которые ищут двойней среди звёзд. Решил сделать сам.

Почему Go

Go отлично подходит для:

  • Быстрой обработки изображений
  • Параллельных запросок к API
  • Контейнеризации — бинарник в одном файле

Как работает

  1. Пользователь загружает фото
  2. Сервис извлекает признаки лица
  3. Сравнивает с базой знаменитостей
  4. Возвращает топ совпадений
func (s *Service) FindCelebrity(image []byte) ([]Result, error) {
    features, err := s.extractFeatures(image)
    if err != nil {
        return nil, err
    }
    return s.compareWithDB(features), nil
}

База знаменитостей

Собрал датасет из ~10 000 фото знаменитостей. Векторизовал заранее, сравнение происходит быстро.

Выводы

Go — отличный выбор для подобных сервисов. Быстро, мало памяти, легко деплоить.

© 2026 tashirka.ru