Wprowadzenie niestandardowego oprogramowania do rozpoznawania twarzy

Firma Innowise opracowała zaawansowane rozwiązanie do rozpoznawania twarzy w celu zwiększenia bezpieczeństwa i usprawnienia procesów identyfikacji.

Klient

Region
AU
Klient od
2022

Naszym klientem jest australijska firma zajmująca się tworzeniem oprogramowania i doradztwem IT, specjalizująca się w dostarczaniu dostosowanych do potrzeb rozwiązań informatycznych dla branży detalicznej. Dzięki bogatemu doświadczeniu, firma z powodzeniem opracowała koncepcję, zaprojektowała i uruchomiła rozwiązania cyfrowe w różnych kategoriach handlu detalicznego, w tym towarów ogólnych, odzieży i artykułów spożywczych.

Działając na skalę globalną - od międzynarodowych korporacji detalicznych po niezależnych właścicieli sklepów - firma ta oferuje pakiet wysoce skalowalnych produktów i usług.

Wyzwanie

Zwiększenie dokładności rozpoznawania twarzy dla branży detalicznej

Początkowo zadanie wydawało się proste: opracować rozwiązanie do rozpoznawania twarzy, które mogłoby niezawodnie identyfikować osoby w czasie rzeczywistym w środowiskach detalicznych. Ale każdy, kto zna rzeczywiste kanały wideo, wie, że rzadko są one doskonałe.

Głównym wyzwaniem była niespójna jakość wideo. Ustawienia w handlu detalicznym są nieprzewidywalne - kamery często rejestrują materiał w słabym oświetleniu, pod niewygodnymi kątami i w ciągłym ruchu. W rezultacie twarze wydawały się rozmyte, zacienione lub zniekształcone, co utrudniało systemowi wykrywanie i wyrównywanie krytycznych rysów twarzy, takich jak oczy, nos i usta.

W niektórych przypadkach nierównomierne oświetlenie przesłaniało szczegóły twarzy, podczas gdy w innych połączenie rozmycia i cieni sprawiało, że tradycyjne metody rozpoznawania były nieskuteczne. Nie były to sporadyczne problemy - były to codzienne warunki, z którymi nasz zespół musiał się zmierzyć.

Aby temu zaradzić, potrzebowaliśmy czegoś więcej niż zaawansowanych algorytmów. Nasi inżynierowie musieli zaprojektować system zdolny do przetwarzania niedoskonałych, nieuporządkowanych danych wejściowych - wyodrębniając znaczące dane z niskiej jakości, niespójnych materiałów wideo, aby zapewnić jasne i przydatne wyniki. Mówiąc najprościej, niestandardowe oprogramowanie do rozpoznawania twarzy musiało współpracować z rzeczywistymi wyzwaniami, a nie z nimi walczyć.

Wdrożenie

Zwiększenie bezpieczeństwa i wydajności handlu detalicznego dzięki systemowi rozpoznawania twarzy

Podejście naszego zespołu do niestandardowych usług tworzenia oprogramowania do rozpoznawania twarzy koncentrowało się na trzech krytycznych celach: dokładności, przetwarzaniu w czasie rzeczywistym i zdolności adaptacji do danych wejściowych o niskiej jakości.

Niezawodne wykrywanie i rozpoznawanie twarzy

W rdzeniu rozwiązania zintegrowaliśmy zaawansowane algorytmy głębokiego uczenia, aby zapewnić precyzyjne wykrywanie i rozpoznawanie twarzy, nawet w wymagających warunkach, takich jak słabe oświetlenie, nietypowe kąty i dane wejściowe o niskiej rozdzielczości.

Wykrywanie i wyrównywanie twarzy

Wykorzystaliśmy RetinaFace ze względu na jego szybkość i dokładność w wykrywaniu twarzy, szczególnie wyróżniającą się na obrazach o niskiej rozdzielczości i w trudnych warunkach oświetleniowych. Zdecydowaliśmy się na wykrywanie punktów orientacyjnych twarzy MediaPipe, aby zidentyfikować i wyrównać krytyczne cechy, takie jak oczy, nos i usta. W rezultacie system mógł obsługiwać różne dane wejściowe z większą stabilnością i dokładnością. Umożliwiło to spójne wstępne przetwarzanie twarzy, nawet w przypadku niewspółosiowości lub nietypowych kątów.

Dokładne modele rozpoznawania twarzy

Do rozpoznawania twarzy wykorzystaliśmy technikę ArcFace, znaną z wysokiej wydajności w generowaniu dyskryminacyjnych osadzeń twarzy. Aby zoptymalizować dokładność w środowiskach detalicznych, zespół dopracował model szkieletowy przy użyciu danych specyficznych dla domeny z ukierunkowanymi rozszerzeniami, w tym symulowanym rozmyciem i zniekształceniem kąta. W rezultacie system osiągnął dokładność rozpoznawania twarzy 85-90% w trudnych warunkach i utrzymał dokładność ponad 95% przy wysokiej jakości danych wejściowych.

Ulepszenia zapewniające dokładność obrazu i wydajność systemu

Nagrania z monitoringu często zawierają niedoskonałości, więc w ramach naszych niestandardowych usług rozwoju rozpoznawania twarzy opracowaliśmy solidny potok wstępnego przetwarzania obrazu, aby oczyścić dane wejściowe przed rozpoznaniem.

Jednym z kluczowych przełomów, które wprowadziliśmy, była lokalizacja oczu. Integracja potoków MediaPipe poprawiła zdolność systemu do wykrywania centrów źrenic oczu. To znacznie poprawiło wyrównanie i stabilizację twarzy, umożliwiając nam odfiltrowanie klatek, które były albo słabo uchwycone, albo źle wyrównane. W ten sposób do rozpoznania trafiały tylko czyste i wysokiej jakości klatki, co poprawiło ogólną dokładność systemu.

Wydajne wsadowe przetwarzanie obrazu

Musieliśmy poradzić sobie z ogromnymi ilościami danych wideo, więc stworzyliśmy moduł wsadowego przetwarzania obrazu przy użyciu PyTorch i MediaPipe.

Opracowaliśmy również moduł do masowego wyodrębniania i przetwarzania obrazów z kanałów wideo, oszczędzając w ten sposób czas i zmniejszając wysiłek ręczny. Zoptymalizowany system płynnie obsługuje duże ilości danych, nawet w ruchliwych środowiskach detalicznych.

Integracja z systemem CCTV

Integracja niestandardowego oprogramowania do rozpoznawania twarzy z systemem telewizji przemysłowej (CCTV) polega na połączeniu zaawansowanej technologii rozpoznawania twarzy z istniejącą infrastrukturą nadzoru. Taka integracja rekonfiguruje możliwości nadzoru, umożliwiając precyzyjną identyfikację osób w czasie rzeczywistym w sklepach lub magazynach. Taki system zaostrza środki bezpieczeństwa przed nieautoryzowanym dostępem i optymalizuje zarządzanie pracownikami poprzez śledzenie obecności i monitorowanie zachowań w pracy. Dzięki takiemu holistycznemu podejściu środowisko każdego punktu sprzedaży detalicznej staje się znacznie bezpieczniejsze i wydajniejsze w działaniu.

Teraz niestandardowe rozwiązanie do rozpoznawania twarzy uzyskuje dostęp do kanałów wideo na żywo z kamer CCTV i wykorzystuje algorytmy oparte na PyTorch i MediaPipe do wykrywania i analizowania unikalnych cech twarzy, takich jak kształt oczu, nosa i ust.

Korzystając z modeli ponownej identyfikacji osób (Re-ID), system śledzi osoby z jednej kamery do drugiej, nawet przy okluzji lub podczas przemieszczania się z jednej strefy do drugiej. W połączeniu ze strumieniowym przetwarzaniem na poziomie klatek, opartym na możliwościach wnioskowania PyTorch, system obsługuje również rozpoznawanie w czasie rzeczywistym z opóźnieniem poniżej 200 ms, nawet w przypadku wielu strumieni na żywo.

Technologie

AWS (Kinesis Video Streaming, EC2, EKS, ECR, S3, Glue)
Akcje GitHub, Kubernetes, Nginx
PyTorch, MediaPipe

VCS

Git, GitHub

Proces

We began with intensive workshops to understand the project goals and the challenges at hand — like handling poor video quality, enabling real-time processing, and ensuring the system could scale. Our team performed a detailed audit of the client’s CCTV setup, assessing camera types, frame rates, and video quality to make sure the custom facial recognition software would work reliably in real-world conditions.

Projektowanie systemu i planowanie architektury

Next, our team designed a scalable, distributed architecture capable of processing multiple live streams simultaneously. Each part of the system — face detection, preprocessing, and recognition — was built as an independent component, ensuring smooth data flow and fault tolerance. We also mapped out integration points to connect the solution with the client’s existing CCTV network.

Rozwój i wdrażanie

We followed an Agile development approach, delivering results in stages and gathering regular feedback to refine the system. Here’s how we tackled each critical area:

  • Wykrywanie i wyrównywanie twarzy: Our engineers built and optimized the detection pipeline to stabilize incoming video, addressing challenges like inconsistent lighting, unusual angles, and movement.
  • Wstępne przetwarzanie obrazu: Our team enhanced video frames with filtering and stabilization, ensuring only clean, usable frames moved forward for recognition.
  • Modele rozpoznawania: Using real-world video samples, we fine-tuned the recognition pipeline to accurately identify faces, even under extreme angles or partial obstructions.
  • Optymalizacja przetwarzania wsadowego: To manage large video volumes efficiently, our optimized batch processing workflows for archived footage while reducing the load on real-time operations.

At every sprint, we conducted rigorous testing and performance monitoring to address bottlenecks and support consistent progress.

Testowanie i walidacja

Nasi specjaliści ds. kontroli jakości przetestowali system, aby zweryfikować jego wydajność w rzeczywistych warunkach. warunkach:

  • Testy funkcjonalne: Każdy moduł był testowany indywidualnie i jako część pełnego potoku.
  • Testy warunków skrajnych: Nasz zespół ocenił zdolność systemu do przetwarzania wielu strumieni z kamer pod dużym obciążeniem.
  • Weryfikacja w świecie rzeczywistym: Korzystając z rzeczywistych nagrań wideo ze sklepów detalicznych, zweryfikowaliśmy, że system zapewniał spójne wyniki nawet przy słabym oświetleniu, rozmyciu ruchu lub niskiej rozdzielczości.
  • Testowanie przypadków brzegowych: Nasz zespół przetestował trudne scenariusze, takie jak częściowe twarze i ekstremalne aby zagwarantować solidność i niezawodność.

Podczas testów śledziliśmy wskaźniki wydajności - dokładność, szybkość i współczynniki odrzucania klatek - oraz dostroiliśmy system, aby uzyskać optymalne wyniki.

Wdrożenie i integracja

Gdy niestandardowe oprogramowanie do analizy twarzy było gotowe, nasz zespół wdrożył je w środowisku produkcyjnym klienta przy minimalnych zakłóceniach. System został skonfigurowany do przetwarzania strumieni wideo na żywo i integracji z istniejącą infrastrukturą CCTV. Aby zapewnić płynne wdrożenie, zapewniliśmy również sesje szkoleniowe i szczegółową dokumentację dla zespołu klienta.

Konserwacja i wsparcie po wdrożeniu

W ramach naszej roli jako firmy zajmującej się tworzeniem niestandardowego oprogramowania do rozpoznawania twarzy, zapewniamy ciągłą aktualizacje i wsparcie w celu poprawy wydajności i skalowalności systemu.

Zespół

1

Analityk biznesowy

1

Kierownik projektu

1

Inżynier ML

1

QA

1

Programista back-end

1

Programista front-end

Wyniki

Zwiększone bezpieczeństwo i usprawniona identyfikacja twarzy

Our team delivered a facial recognition system that successfully addressed key real-world challenges, including low resolution, poor lighting, and motion blur. Through careful design and optimization, we improved operational efficiency by 70%, reducing employee verification time from 20 seconds to under 5 seconds per person.

Our engineers made sure the system could handle demanding workloads by implementing efficient processing pipelines. As a result, it now processes thousands of faces per second across multiple video streams. Utilizing GPU-optimized AWS infrastructure and fine-tuning performance, we were able to keep things running smooth and consistent, even during peak retail hours.

Our efforts also strengthened security outcomes. The real-time alert mechanisms developed by our team enable the system to generate instant notifications for unauthorized individuals. As a result, security response times decreased by 40%, allowing on-site teams to act more quickly and improving overall situational awareness.

Reliability was a key focus throughout the project. Our team’s optimizations ensured 99.9% uptime and provided uninterrupted operation for critical processes like access control and live monitoring. Seamless integration with the client’s existing systems further contributed to a 20–25% reduction in security-related incidents, helping retailers create safer and better-managed environments.

Overall, the solution proved to be fast, accurate, and scalable. It not only optimized security but also simplified attendance management and improved day-to-day operational workflows, delivering tangible results for retail environments.

Czas trwania projektu
  • Maj 2022 - październik 2022
99.8%
Weryfikacje poniżej 200 ms na klatkę na instancjach AWS zoptymalizowanych pod kątem GPU
85-90%
dokładność rozpoznawania twarzy przy słabym oświetleniu lub rozmyciu ruchu

50%

mniej ręcznych interwencji dzięki niezawodnej automatycznej identyfikacji

Skontaktuj się z nami

Umów się na rozmowę lub wypełnij poniższy formularz, a my skontaktujemy się z Tobą po przetworzeniu Twojego zgłoszenia.

    Prosimy o podanie szczegółów projektu, czasu trwania, stosu technologicznego, potrzebnych specjalistów IT i innych istotnych informacji.
    Nagraj wiadomość głosową na temat
    projekt, który pomoże nam lepiej go zrozumieć
    W razie potrzeby dołącz dodatkowe dokumenty
    Prześlij plik

    Można załączyć maksymalnie 1 plik o łącznej wielkości 2 MB. Ważne pliki: pdf, jpg, jpeg, png

    Informujemy, że po kliknięciu przycisku Wyślij Innowise będzie przetwarzać dane osobowe użytkownika zgodnie z naszą polityką prywatności. Politykę Prywatności w celu dostarczenia użytkownikowi odpowiednich informacji. Podanie numeru telefonu i przesłanie niniejszego formularza jest równoznaczne z wyrażeniem zgody na kontakt za pośrednictwem wiadomości tekstowej SMS. Mogą obowiązywać opłaty za wiadomości i transmisję danych. Możesz odpowiedzieć STOP, aby zrezygnować z dalszych wiadomości. Aby uzyskać więcej informacji, odpowiedz POMOC.

    Co dalej?

    1

    Po otrzymaniu i przetworzeniu Twojego zgłoszenia skontaktujemy się z Tobą wkrótce, aby wyszczególnić potrzeby projektu i podpisać umowę o zachowaniu poufności, aby zapewnić poufność informacji.

    2

    Po przeanalizowaniu wymagań, nasi analitycy i programiści opracowują projekt z zakresem prac, wielkością zespołu, czasem i kosztami szacunki.

    3

    Umówimy się z Tobą na spotkanie, aby omówić ofertę i dojść do porozumienia porozumienia.

    4

    Podpisujemy umowę i rozpoczynamy pracę nad projektem tak szybko, jak to możliwe.

    Спасибо!

    Cобщение отправлено.
    Мы обработаем ваш запрос и свяжемся с вами в кратчайшие сроки.

    Dziękuję!

    Wiadomość została wysłana.
    Przetworzymy Twoją prośbę i skontaktujemy się z Tobą tak szybko, jak to możliwe.

    Dziękuję!

    Wiadomość została wysłana. 

    Przetworzymy Twoją prośbę i skontaktujemy się z Tobą tak szybko, jak to możliwe.

    strzałka