Open Source Computer Vision Library (OpenCV) to program, który zawiera wiele modułów i skryptów do zaawansowanych technik wideo na komputerze. Jednym ze skryptów jest wykrywanie twarzy OpenCV, które wykorzystuje kamerę internetową do wykrywania twarzy. Od 2011 r. wielu programistów pracuje nad sposobem rozszerzenia tego modułu o rozpoznawanie konkretnej twarzy, a nie tylko rozpoznawanie, czy twarz została przechwycona. Ten system działa na zasadzie rozpoznawania typowych cech twarzy, takich jak oczy i usta, w celu określenia, czy wyświetlana jest prawdziwa twarz.
W bibliotece programu OpenCV znajduje się skrypt o nazwie Haar Cascade. Ten moduł zapewnia system wykrywania twarzy, ale wykrywanie ma ograniczone możliwości. Wykrywanie twarzy OpenCV, bez modyfikacji, może wykryć tylko, czy twarz jest wyświetlana. Odbywa się to poprzez dostęp do kamery internetowej komputera i sprawdzenie powracającego wideo. Jeśli wykryte zostaną typowe cechy twarzy, takie jak oczy i usta, system wykrywania twarzy OpenCV powie, że twarz jest obecna.
Nowi użytkownicy OpenCV mogą mieć trudności ze znalezieniem skryptu rozpoznawania twarzy. Podobnie jak wiele innych skryptów, jest on przechowywany w sekcji „Przykłady”. Uzyskując dostęp do skryptu, OpenCV może automatycznie korzystać z systemu rozpoznawania bez konieczności ręcznego instalowania skryptu przez programistę.
Wielu programistów pracuje nad interfejsem OpenCV open source, aby ulepszyć system wykrywania twarzy OpenCV. Zamiast po prostu rozpoznawać, czy dana twarz jest wyświetlana przez kamerę internetową, zmodyfikowany system ma rozpoznawać określone twarze. Odbywa się to głównie poprzez zrobienie zdjęcia czyjejś twarzy, pokazanie tej osoby w kamerze internetowej, a następnie porównanie dwóch zdjęć. Jeśli obrazy są podobne, wykrywanie twarzy powie, że osoba jest taka sama, jak w zapisanym obrazie.
Niektóre problemy są widoczne w systemie wykrywania twarzy OpenCV, głównie ze skutecznością wykrywania. Problemy te wynikają głównie z współrzędnych twarzy, na przykład miejsca, w którym znajdują się oczy. Jeśli oczy lub inne elementy twarzy nie znajdują się tam, gdzie oczekuje ich OpenCV, oznacza to, że twarzy nie ma, nawet jeśli jest. Wymaga to od programistów ręcznego wprowadzania współrzędnych za każdym razem, gdy używany jest interfejs twarzy.
Wykrywanie twarzy OpenCV ma kilka zastosowań poza zabawą i daniem programistom możliwości doskonalenia swoich umiejętności. Wykrywanie twarzy może być wykorzystywane do celów bezpieczeństwa, zwłaszcza gdy jest zmodyfikowane tak, aby rozpoznawać określone twarze. Można to również wykorzystać do łatwego przechowywania obrazów twarzy z kamery internetowej, zamiast przypadkowego przechwytywania innych obrazów.