Funkce Haar jsou funkce digitálního obrazu používané při rozpoznávání vzorů . Za své jméno vděčí intuitivní podobnosti s Haarovými vlnkami . Funkce Haar byly použity v prvním detektoru obličeje v reálném čase.
Historicky mají algoritmy, které pracují pouze s intenzitou obrazu (např. hodnota RGB v každém pixelu), vysokou výpočetní náročnost. V práci Papageorgiou [1] byla zvažována práce se sadou funkcí založených na Haarových vlnkách . Viola a Jones [2] přizpůsobili myšlenku použití Haarových vlnek a vyvinuli to, co se nazývalo Haarovy funkce. Znak Haar se skládá z přilehlých obdélníkových oblastí. Jsou umístěny na obrázku, pak jsou sečteny intenzity pixelů v oblastech, načež je vypočítán rozdíl mezi součty. Tento rozdíl bude hodnotou určitého prvku, určité velikosti, umístěné určitým způsobem na obrázku.
Vezměme si například databázi s lidskými tvářemi. Společné pro všechny obrázky je, že oblast kolem očí je tmavší než oblast kolem tváří. Proto je společným rysem Haar pro obličeje 2 sousedící obdélníkové oblasti ležící na očích a tvářích.
Během detekčního kroku v metodě Viola-Jones se přes obraz pohybuje okno pevné velikosti a pro každou oblast obrazu, přes kterou okno prochází, se vypočítá Haarův znak. Přítomnost nebo nepřítomnost objektu v okně je určena rozdílem mezi hodnotou vlastnosti a prahem učení. Vzhledem k tomu, že Haarovy rysy nejsou příliš vhodné pro učení nebo klasifikaci (kvalita je o něco vyšší než u náhodné normálně rozdělené hodnoty ), je k popisu objektu s dostatečnou přesností potřeba větší počet prvků. Proto jsou v metodě Viola-Jones Haarovy prvky uspořádány do kaskádového klasifikátoru.
Klíčovou vlastností značek Haar je nejvyšší rychlost ve srovnání s jinými značkami. Při použití integrální reprezentace obrazu lze Haarovy vlastnosti vypočítat v konstantním čase (asi 60 instrukcí procesoru na prvek ze dvou oblastí).
Nejjednodušší obdélníkový Haarův prvek lze definovat jako rozdíl mezi součty pixelů dvou sousedních oblastí uvnitř obdélníku, které mohou v obrázku zaujímat různé pozice a měřítka. Tento typ prvků se nazývá 2-obdélníkový. Viola a Jones také identifikovali 3-obdélníkové a 4-obdélníkové prvky. Každý prvek může indikovat přítomnost (nebo nepřítomnost) určité charakteristiky obrazu, jako jsou okraje nebo změny textury. Například 2-obdélníkový prvek může ukázat, kde je hranice mezi tmavými a světlými oblastmi.
Linhart a Maid [3] představili myšlenku šikmých (45 stupňů) Haarových rysů. To bylo provedeno za účelem zvětšení rozměru prostoru prvků. Metoda se ukázala jako úspěšná a některé šikmé znaky dokázaly objekt lépe popsat. Například 2-obdélníkový zkosený znak Haar může ukazovat přítomnost šikmé hrany 45 stupňů.
Messom a Barzak [4] rozšířili Haarův koncept šikmých prvků. Přestože je myšlenka matematicky správná, v praxi dochází k problémům při použití funkcí z různých úhlů. Pro urychlení výpočtů používá detektor obrázky s nízkým rozlišením, což vede k zaokrouhlovací chybě. Na základě toho se šikmé Haarovy znaky běžně nepoužívají.