چارچوب تشخیص اشیا ویولا-جونز
اجزاء چارچوب > معماری آبشار

به‌طور متوسط فقط 0.01٪ از تمام زیر پنجره‌ها مثبت هستند (چهره ها)
زمان محاسبات یکسان بر تمام زیر پنجره‌ها صرف می‌شود
بیشترین زمان را صرفاً در مورد زیر پنجره‌های بالقوه مثبت می‌گذرانند.
یک طبقه‌بندی ساده 2 ویژگی می‌تواند نرخ تشخیص تقریباً 100٪ را با نرخ FP 50٪ به دست آورد.
این طبقه‌بندی می‌تواند به عنوان اولین لایه از یک سری برای فیلتر کردن بیشتر پنجره‌های منفی عمل کند
دومین لایه با 10 ویژگی می‌تواند پنجره‌های "سخت تر" منفی را که از لایه اول باقی مانده است، برطرف کند و ...
یک آبشار از طبقه‌بندی‌های پیچیده به تدریج پیچیده تر می‌شود تا به نرخ‌های تشخیص بهتری دست یابد. ارزیابی طبقه‌بندی‌های قوی تولید شده توسط فرایند یادگیری می‌تواند به سرعت انجام شود، اما به اندازه کافی سریع نیست که در لحظه اجرا شود. به همین دلیل، طبقه‌بندی‌های قوی به منظور پیچیدگی در یک آبشار مرتب می‌شوند، جایی که هر یک از طبقه‌بندی‌های پی در پی فقط برای نمونه‌های انتخاب شده که از طریق طبقه‌بندی‌های پیشین عبور می‌کنند، بررسی می‌شود. اگر در هر مرحله در آبشار، یک طبقه‌بندی‌کننده زیر پنجره تحت بازرسی را رد کند، پردازش بیشتر صورت نمی‌گیرد و همچنان به جستجوی پنجره بعدی ادامه می‌دهد. آبشار به شکل یک درخت انحطاط یافته‌است. در مورد چهره، اولین طبقه‌بندی‌کننده در آبشار - به نام اپراتور مراقبت - تنها از دو ویژگی برای دستیابی به نرخ منفی کاذب تقریباً 0٪ و نرخ مثبت کاذب 40٪ استفاده می‌کند.  تأثیر این طبقه‌بندی‌کننده تنها کاهش تقریبی تعداد دفعاتی است که کل آبشار مورد ارزیابی قرار می‌گیرد.
در آبشار، هر مرحله شامل یک طبقه‌بندی‌کننده قوی است. بنابراین تمام ویژگی‌ها در چند مرحله گروه‌بندیمی‌شوند که در آن هر مرحله دارای تعداد خاصی از ویژگی‌ها است.
هر مرحله وظیفه دارد تعیین کند که آیا یک زیر پنجره معین، قطعاً یک صورت نیست یا ممکن است یکصورت باشد. یک زیر پنجره داده‌شده فوراً به عنوان صورتی که در هر کدام از مراحل شکست می‌خورد، کنارگذاشته می‌شود.
یک چارچوب ساده برای آموزش آبشار در زیر آورده شده‌است:
f = حداکثر نرخ مثبت کاذب قابل قبول در هر لایه.
d = حداقل میزان تشخیص قابل قبول در هر لایه.
Ftarget = نرخ کلی مثبت کاذب را هدف قرار می‌دهد.
P = مجموعه ای از نمونه‌های مثبت
N = مجموعه ای از نمونه‌های منفی.
F(0) = 1.0; D(0) = 1.0; i = 0
while F(i)> Ftarget
    increase i
    n(i) = 0; F(i)= F(i-1)
while F(i)> f × F(i-1)
      increase n(i)
      use P and N to train a classifier with n(I) features using AdaBoost
      Evaluate current cascaded classifier on validation set to determine F(i) and D(i)
      decrease threshold for the ith classifier 
        until the current cascaded classifier has a detection rate of at least d × D(i-1) (this also affects F(i))
      N = ∅
      if F(i)> Ftarget then 
        evaluate the current cascaded detector on the set of non-face images 
        and put any false detections into the set N.
معماری آبشاری مفهومی جالب برای عملکرد طبقه بنده‌ای فردی دارد. از آنجا که فعال‌سازی هر طبقه‌بندی‌کننده به‌طور کامل به رفتار سلف خود وابسته است، نرخ کاذب مثبت برای یک آبشار کلی عبارت است از:
به‌طور مشابه، میزان تشخیص برابر است با:
بنابراین برای مطابقت با نرخ‌های مثبت کاذب که معمولاً توسط ردیاب‌های دیگر بدست می‌آیند، هر طبقه‌بندی‌کننده می‌تواند با داشتن عملکرد ضعیف نامناسب دور شود. برای مثال برای یک آبشار ۳۲ مرحله‌ای برایدستیابی به نرخ مثبت کاذب ۱۰ - ۶، هر طبقه‌بندی‌کننده تنها به نرخ مثبت کاذب حدود ۶۵ % دست می‌یابند. در زمان مشابه، در عین حال، هر طبقه‌بندی‌کننده باید به‌طور استثنایی قادر به دستیابی به نرخ‌های تشخیص مناسب باشد. برای مثال، برای دستیابی به نرخ تشخیص حدود ۹۰ %، هر طبقه‌بندی‌کننده درآبشاری ذکر شده نیاز به دستیابی به نرخ تشخیص تقریباً ۹۹.۷ % دارد. [ ۷ ]