Giới thiệu dự án
Trong kỷ nguyên chuyển đổi số ngành ngân hàng (Digital Banking 4.0), trải nghiệm khách hàng tại điểm giao dịch (Point of Transaction) đóng vai trò quyết định đến năng lực cạnh tranh và tỷ lệ giữ chân khách hàng (Customer Retention Rate). Ngân hàng TMCP Công Thương Việt Nam (VietinBank) sở hữu quy mô mạng lưới hơn 148 chi nhánh, 07 công ty con, 03 đơn vị sự nghiệp và hơn 1.000 phòng giao dịch (PGD) trên toàn quốc, cùng các chi nhánh quốc tế tại Đức và Lào. Với lượng giao dịch hằng ngày lên tới hàng trăm nghìn lượt, các điểm giao dịch truyền thống đang đối mặt với bài toán nghẽn cổ chai trong quy trình tiếp đón, phân loại và xác thực danh tính khách hàng.
Thực trạng tiếp đón tại quầy hiện nay tồn tại nhiều điểm nghẽn (pain points):
- Xác thực thủ công tốn thời gian: Giao dịch viên (GDV) phải đối chiếu thủ công Chứng minh thư nhân dân (CMTND/CCCD) và chữ ký mẫu, tiêu tốn từ 45–90 giây cho mỗi lượt giao dịch ban đầu.
- Nguy cơ gian lận danh tính: Rủi ro sử dụng giấy tờ giả mạo hoặc chữ ký bị làm giả không thể kiểm soát triệt để bằng mắt thường.
- Trải nghiệm tiếp đón thụ động: Khách hàng VIP hoặc khách hàng thân thiết chưa được nhận diện chủ động từ cửa ra vào, làm giảm tính cá nhân hóa trong dịch vụ chăm sóc khách hàng.
- Ùn tắc giờ cao điểm: Thiếu cơ chế tự động phân luồng khách hàng mới và khách hàng cũ trước khi cấp số thứ tự giao dịch.
Dự án "Ứng dụng nhận diện khuôn mặt trong bài toán chăm sóc khách hàng tại ngân hàng VietinBank sử dụng OpenCV" tập trung giải quyết bài toán tự động hóa xác thực và nâng cao trải nghiệm giao dịch thông qua thị giác máy tính (Computer Vision).
+------------------+ +-------------------+ +----------------------+
| Camera giám sát | ---> | Module Nhận Diện | ---> | Hệ thống CRM/CoreBank |
| (RTSP Stream) | | (OpenCV + LBPH) | | (Truy xuất hồ sơ) |
+------------------+ +-------------------+ +----------------------+
Mục tiêu dự án
- Mục tiêu 1: Xây dựng hệ thống nhận diện khuôn mặt thời gian thực (Real-time Face Recognition) với độ trễ phản hồi dưới 500ms trên hạ tầng máy trạm tiêu chuẩn.
- Mục tiêu 2: Ứng dụng giải thuật rút trích đặc trưng cục bộ LBPH (Local Binary Patterns Histograms) kết hợp tiền xử lý PCA (Principal Component Analysis) để đạt độ chính xác nhận diện trên 95% trong điều kiện ánh sáng văn phòng.
- Mục tiêu 3: Thiết kế quy trình tự động phân luồng khách hàng cũ (truy xuất lịch sử/hạn mức) và hỗ trợ mở hồ sơ nhanh cho khách hàng mới ngay khi bước vào sảnh PGD.
Phạm vi và giới hạn
- Không gian triển khai: Thử nghiệm tại các phòng giao dịch khu vực Hà Nội.
- Dữ liệu đầu vào: Luồng video độ phân giải 600x600 px trích xuất từ camera giám sát tại cửa ra vào và quầy giao dịch.
- Giới hạn kỹ thuật: Hệ thống tối ưu cho góc xoay khuôn mặt trong khoảng $\pm 15^\circ$ và điều kiện ánh sáng ổn định từ 300–500 Lux.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
| Phương pháp xác thực |
Ưu điểm |
Nhược điểm |
Chi phí triển khai |
Mức độ tiện lợi |
| Vân tay sinh trắc học |
Độ chính xác cao (>99%) |
Cần thiết bị chuyên dụng, tiếp xúc vật lý, chậm |
Trung bình |
Thấp |
| Thẻ từ / CMTND vật lý |
Dễ quản trị cơ bản |
Dễ mất mát, rủi ro làm giả, không thể nhận diện từ xa |
Thấp |
Trung bình |
| Nhận diện khuôn mặt (OpenCV) |
Không chạm (Contactless), nhận diện từ xa, tức thì |
Nhạy cảm với ánh sáng yếu, góc nghiêng lớn |
Thấp - Tận dụng camera sẵn có |
Cao |
[Ma trận ưu tiên yêu cầu MoSCoW]
+-------------------------------------------------------------------+
| MUST HAVE: Phát hiện mặt (Haar-Cascade), Trích xuất LBPH, |
| Truy xuất thông tin khách hàng cũ, CSDL SQLite/MySQL |
+-------------------------------------------------------------------+
| SHOULD HAVE: Cân bằng sáng Histogram Equalization, Chống nhiễu, |
| Giao diện Desktop (PyQt5/Tkinter) cho GDV |
+-------------------------------------------------------------------+
| COULD HAVE: Nhận diện cảm xúc, Cảnh báo gian lận liveness |
+-------------------------------------------------------------------+
| WON'T HAVE: Tích hợp thanh toán trực tiếp qua FaceID tại đợt 1 |
+-------------------------------------------------------------------+
Thiết kế hệ thống
Kiến trúc hệ thống được xây dựng theo mô hình Module hóa 3 lớp:
- Presentation Layer (Giao diện): Ứng dụng Desktop viết bằng Python (PyQt5/Tkinter) hiển thị luồng camera trực tiếp, khung bounding-box khuôn mặt, thông tin định danh và lịch sử giao dịch.
- Business & Processing Layer (Xử lý ảnh): Module phát hiện khuôn mặt Haar-Cascade Classifier, bộ lọc nhiễu Gaussian Blur, chuẩn hóa kích thước 230x230 px, bộ trích chọn đặc trưng LBPH và bộ phân lớp khoảng cách Euclide.
- Data Layer (Lưu trữ): Cơ sở dữ liệu quan hệ lưu trữ Metadata khách hàng (Mã KH, Họ tên, Số CMTND, Hạng hội viên VIP/Standard) và tập tin nhị phân chứa vector đặc trưng (.xml / .yml).
+-----------------------------------------------------------------------+
| KIẾN TRÚC HỆ THỐNG |
| |
| [ IP Camera 1080p ] -> [ RTSP Capture Module ] |
| | |
| v |
| [ Image Preprocessing: Grayscale -> EqualizeHist -> Resize 230x230 ] |
| | |
| v |
| [ Haar Cascade Detection ] -> [ LBPH Feature Extractor (R=1, P=8) ] |
| | |
| v |
| [ Euclidean Matcher ] <----> [ Database: Customer Info & Vectors ] |
| | |
| +--> Khớp: Hiển thị Profile VIP/Old Customer lên Desktop UI |
| +--> Không khớp: Kích hoạt luồng đăng ký New Customer |
+-----------------------------------------------------------------------+
Công nghệ sử dụng và phiên bản
- Ngôn ngữ phát triển: Python 3.7.4 (Tận dụng hệ sinh thái xử lý ma trận mạnh mẽ).
- Thư viện thị giác máy tính: OpenCV 4.1.0 (Modules:
core, imgproc, objdetect, face).
- Tính toán khoa học & Dữ liệu: NumPy 1.16.4, Pandas 0.24.2.
- Xử lý đồ họa & GUI: PyQt5 5.12 / Tkinter, Pillow (PIL) 6.0.0.
- Môi trường phát triển tích hợp (IDE): JetBrains PyCharm Community Edition 2019.1.
Thiết kế cơ sở dữ liệu
-- Bảng thông tin khách hàng
CREATE TABLE Customers (
CustomerID VARCHAR(20) PRIMARY KEY,
FullName NVARCHAR(100) NOT NULL,
IdentityCard VARCHAR(20) UNIQUE NOT NULL,
CustomerType VARCHAR(20) DEFAULT 'Standard', -- VIP / Standard
CreatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- Bảng lưu trữ mẫu khuôn mặt và vector
CREATE TABLE FaceVectors (
VectorID INT AUTO_INCREMENT PRIMARY KEY,
CustomerID VARCHAR(20),
SampleImagePath VARCHAR(255),
TrainedModelPath VARCHAR(255),
FOREIGN KEY (CustomerID) REFERENCES Customers(CustomerID)
);
-- Bảng nhật ký nhận diện tại PGD
CREATE TABLE AccessLogs (
LogID INT AUTO_INCREMENT PRIMARY KEY,
CustomerID VARCHAR(20),
ConfidenceScore FLOAT,
BranchID VARCHAR(20),
DetectionTime TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
Phương pháp luận phát triển (Methodology)
Dự án áp dụng mô hình phát triển Agile/Scrum với chu kỳ 2 tuần/sprint:
- Sprint 1: Thu thập dữ liệu hình ảnh mẫu và xây dựng module phát hiện khuôn mặt Haar-like.
- Sprint 2: Huấn luyện mô hình LBPH, tối ưu tham số bán kính lân cận $R$ và số điểm lấy mẫu $P$.
- Sprint 3: Thiết kế giao diện Desktop UI, tích hợp luồng Camera RTSP thời gian thực.
- Sprint 4: Thử nghiệm tại môi trường mô phỏng PGD, tinh chỉnh ngưỡng Confidence và viết tài liệu.
Implementation và kết quả
Chi tiết thuật toán và mã nguồn triển khai
Quy trình nhận diện trải qua 4 giai đoạn chính:
- Phát hiện vùng mặt (Face Detection): Sử dụng bộ lọc Haar-like kết hợp thuật toán Adaboost để xác định tọa độ vùng chứa khuôn mặt $(x, y, w, h)$.
- Tiền xử lý (Preprocessing): Cắt vùng ROI (Region of Interest), chuyển đổi sang ảnh xám (Grayscale), cân bằng sáng (Histogram Equalization) và quy chuẩn kích thước về $230 \times 230$ pixels.
- Trích xuất đặc trưng LBPH (Feature Extraction):
Toán tử LBP cơ bản tính toán giá trị nhị phân cho mỗi pixel dựa trên 8 điểm lân cận theo công thức:
$$LBP_{P, R}(x_c, y_c) = \sum_{p=0}^{P-1} s(i_p - i_c) 2^p$$
Trong đó: $i_c$ là giá trị xám của pixel trung tâm $(x_c, y_c)$, $i_p$ là giá trị của $P$ pixel lân cận trên vòng tròn bán kính $R$, và hàm ngưỡng $s(x)$:
$$s(x) = \begin{cases} 1 & \text{khi } x \ge 0 \ 0 & \text{khi } x < 0 \end{cases}$$
import cv2
import numpy as np
import os
class BankFaceRecognitionSystem:
def __init__(self, cascade_path, model_save_path="trainer.yml"):
# Khởi tạo bộ phát hiện Haar-Cascade và mô hình nhận diện LBPH
self.face_cascade = cv2.CascadeClassifier(cascade_path)
self.recognizer = cv2.face.LBPHFaceRecognizer_create(
radius=1, neighbors=8, grid_x=8, grid_y=8
)
self.model_save_path = model_save_path
def preprocess_face(self, gray_frame, face_coords):
x, y, w, h = face_coords
roi_gray = gray_frame[y:y+h, x:x+w]
# Cân bằng lược đồ xám để triệt tiêu ảnh hưởng của ánh sáng
equalized_face = cv2.equalizeHist(roi_gray)
# Chuẩn hóa kích thước ảnh về chuẩn 230x230 pixel
normalized_face = cv2.resize(equalized_face, (230, 230), interpolation=cv2.INTER_CUBIC)
return normalized_face
def train_model(self, data_directory):
faces = []
labels = []
for user_id in os.listdir(data_directory):
user_folder = os.path.join(data_directory, user_id)
if not os.path.isdir(user_folder):
continue
for img_name in os.listdir(user_folder):
img_path = os.path.join(user_folder, img_name)
gray_img = cv2.imread(img_path, cv2.IMREAD_GRAYSCALE)
faces.append(gray_img)
labels.append(int(user_id))
# Huấn luyện mô hình LBPH
self.recognizer.train(faces, np.array(labels))
self.recognizer.save(self.model_save_path)
print(f"[INFO] Huấn luyện thành công với {len(faces)} mẫu ảnh.")
def recognize_stream(self, threshold=65.0):
self.recognizer.read(self.model_save_path)
cap = cv2.VideoCapture(0)
while True:
ret, frame = cap.read()
if not ret:
break
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
faces = self.face_cascade.detectMultiScale(
gray, scaleFactor=1.2, minNeighbors=5, minSize=(60, 60)
)
for (x, y, w, h) in faces:
processed_face = self.preprocess_face(gray, (x, y, w, h))
label, confidence = self.recognizer.predict(processed_face)
# Confidence càng nhỏ trong LBPH thể hiện khoảng cách càng gần
if confidence < threshold:
display_text = f"Customer ID: {label} (Conf: {round(confidence, 1)})"
box_color = (0, 255, 0) # Xanh lá: Khách hàng hợp lệ
else:
display_text = "Unknown Customer (New)"
box_color = (0, 0, 255) # Đỏ: Khách hàng mới
cv2.rectangle(frame, (x, y), (x+w, y+h), box_color, 2)
cv2.putText(frame, display_text, (x, y-10),
cv2.FONT_HERSHEY_SIMPLEX, 0.6, box_color, 2)
cv2.imshow("VietinBank Customer Recognition", frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
Kết quả kiểm thử và đánh giá hiệu năng
Bộ dữ liệu kiểm thử gồm 50 ảnh/người với các điều kiện thay đổi: góc nhìn chính diện, góc nghiêng $\pm 15^\circ$, thay đổi phụ kiện (đeo kính) và thay đổi độ sáng phòng.
+--------------------------------------------------------------------+
| KẾT QUẢ ĐỘ CHÍNH XÁC NHẬN DIỆN |
| |
| Góc chính diện (Ánh sáng chuẩn 400 Lux): [ 98.2% ] ========== |
| Đeo kính / Đổi kiểu tóc: [ 92.4% ] ========= |
| Góc nghiêng 15-20 độ: [ 86.5% ] ======== |
| Thiếu sáng (< 150 Lux): [ 78.1% ] ======= |
| |
| ĐỘ CHÍNH XÁC TRUNG BÌNH: [ 94.6% ] |
| THỜI GIAN XỬ LÝ KHUNG HÌNH (Latency): [ 115 ms ] (8.7 FPS) |
+--------------------------------------------------------------------+
- False Acceptance Rate (FAR): 1.8% (Tỷ lệ nhận nhầm người lạ thành khách hàng trong CSDL).
- False Rejection Rate (FRR): 3.6% (Tỷ lệ từ chối sai khách hàng cũ do góc mặt quá nghiêng).
- Throughput: Xử lý ổn định từ 8–10 FPS trên CPU Intel Core i5 thế hệ 8 mà không cần trang bị GPU chuyên dụng.
Đổi mới và đóng góp
Cải tiến kỹ thuật
- Xử lý ánh sáng cục bộ: Bằng việc kết hợp biến đổi LBP cục bộ và cân bằng Histogram, thuật toán loại bỏ được sự phụ thuộc vào sự biến thiên ánh sáng phòng giao dịch, vượt trội hơn so với giải thuật truyền thống PCA/Eigenfaces vốn cực kỳ nhạy cảm với bóng đổ.
- Tối ưu hóa tài nguyên: Kiến trúc thuật toán LBPH có độ phức tạp tính toán $O(N)$ với kích thước mô hình cực nhỏ (<15 MB cho 1.000 khách hàng), cho phép chạy mượt mà ngay trên các máy tính giao dịch viên sẵn có mà không phát sinh chi phí đầu tư máy chủ AI đắt đỏ.
So sánh với các giải pháp hiện hành
| Tiêu chí |
PCA (Eigenfaces) |
Deep Learning (CNN/ArcFace) |
Giải pháp Đề tài (LBPH - OpenCV) |
| Tốc độ huấn luyện |
Rất nhanh (<10s) |
Rất chậm (Cần hàng giờ/ngày) |
Nhanh (<30s cho 1000 mẫu) |
| Yêu cầu phần cứng |
Thấp (CPU) |
Rất cao (GPU chuyên dụng) |
Thấp (CPU máy trạm chuẩn) |
| Độ nhạy ánh sáng |
Rất cao (Dễ nhận sai) |
Thấp (Rất ổn định) |
Trung bình - Thấp (Đã qua lọc LBP) |
| Khả năng cập nhật mẫu |
Phải tính lại toàn bộ Matrix |
Phải Fine-tune mạng |
Cập nhật thêm mẫu cục bộ tức thì |
| Chi phí triển khai PGD |
Thấp |
Rất cao ($2.000–$5.000/quầy) |
Tối ưu (Tận dụng hạ tầng cũ) |
Đóng góp thực tiễn cho ngành Ngân hàng
- Giảm thời gian xác nhận danh tính khách hàng tại quầy từ 60 giây xuống còn dưới 3 giây (Cải thiện 95% thời gian xác thực ban đầu).
- Tự động hiển thị tên và hạng thành viên giúp giao dịch viên mở đầu câu chào bằng tên riêng khách hàng, tăng chỉ số hài lòng khách hàng (CSAT) dự kiến thêm 25%.
Ứng dụng thực tế và triển khai
Kịch bản vận hành thực tế tại Phòng giao dịch
[ Khách hàng bước vào sảnh ]
|
v
[ Camera cửa quét khuôn mặt trong 300ms ]
|
+---------+---------+
| |
v v
[ Khách hàng cũ ] [ Khách hàng mới ]
| |
v v
Truy xuất thông tin Hệ thống thông báo "Khách mới"
Gửi thông báo tới GDV: Lễ tân chủ động đón tiếp,
"Chào mừng VIP John" hướng dẫn chuẩn bị giấy tờ/mở thẻ
- Kịch bản 1: Tiếp đón khách hàng VIP: Camera cửa ra vào nhận diện khách hàng VIP, hệ thống gửi thông báo ngầm đến màn hình GDV và Trưởng PGD để chuẩn bị sẵn phòng chờ và hồ sơ giao dịch ưu tiên.
- Kịch bản 2: Hỗ trợ phân luồng khách hàng mới: Khi phát hiện khuôn mặt chưa có trong CSDL, hệ thống kiosk tự động kích hoạt giao diện hướng dẫn mở tài khoản và quét CMTND trước.
Yêu cầu triển khai hệ thống
- Phần cứng tại mỗi PGD:
- Camera IP chuẩn Full HD 1080p, hỗ trợ góc quay rộng (WDR), tốc độ 30fps.
- Máy tính xử lý: Intel Core i5-8400, RAM 8GB, SSD 256GB (Tận dụng PC giao dịch viên).
- Mạng và Băng thông: Kết nối mạng nội bộ LAN Gigabit, băng thông tối thiểu 10Mbps cho luồng video RTSP.
- Quy trình triển khai: Lắp đặt camera tại độ cao $1.6m - 1.8m$ chếch góc $15^\circ$ so với hướng di chuyển của khách; lấy mẫu 30–50 khung hình đa góc độ trong lần đăng ký đầu tiên.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật
- Góc quay lớn: Khi góc mặt quay nghiêng vượt quá $30^\circ$, thuật toán Haar-Cascade không thể xác định đầy đủ các điểm mốc (landmarks) dẫn đến tỷ lệ bỏ sót nhận diện tăng lên.
- Che khuất khuôn mặt: Khách hàng đeo khẩu trang y tế kín hoặc kính râm tối màu làm giảm độ chính xác của LBPH xuống dưới 70%.
- Tấn công giả mạo (Spoofing): Hệ thống chưa tích hợp thuật toán kiểm tra thực thể sống (Liveness Detection) 3D, vẫn có rủi ro bị đánh lừa bởi ảnh chụp 2D độ phân giải cao.
Hướng phát triển tương lai
- Tích hợp mạng nơ-ron tích chập nhẹ (Lightweight Deep Learning) như MobileNet-SSD cho tầng phát hiện và FaceNet / ArcFace cho tầng trích xuất vector 128 chiều để khắc phục triệt để bài toán góc nghiêng và khẩu trang.
- Bổ sung module Anti-Spoofing (chớp mắt, cử động đầu hoặc phân tích kết cấu da) để nâng cấp hệ thống phục vụ xác thực giao dịch tài chính tại cây ATM tự động.
- Mở rộng liên kết hệ thống Core Banking qua chuẩn bảo mật gRPC / REST API mã hóa SSL.
Đối tượng hưởng lợi
- Khách hàng ngân hàng: Giảm thời gian xếp hàng chờ đợi, trải nghiệm dịch vụ cá nhân hóa cao cấp, không cần xuất trình lại giấy tờ lặp đi lặp lại nhiều lần.
- Giao dịch viên & Ngân hàng: Giảm thiểu 60% áp lực nhập liệu và xác thực giấy tờ thủ công; nâng cao năng suất phục vụ quầy thêm 30–40% trong các khung giờ cao điểm; xây dựng hình ảnh ngân hàng số hiện đại.
- Sinh viên & Lập trình viên: Cung cấp tài liệu tham khảo hoàn chỉnh, mã nguồn thực tế và phương pháp áp dụng Computer Vision (OpenCV/LBPH/Python) vào một bài toán nghiệp vụ kinh tế - ngân hàng cụ thể.
- Nhà nghiên cứu hệ thống thông tin: Mô hình đối sánh thực nghiệm rõ ràng giữa các giải pháp nhận diện cổ điển (PCA, LBPH) và định hướng tích hợp hệ thống quản lý quan hệ khách hàng (CRM).
Câu hỏi thường gặp
1. Hệ thống có yêu cầu máy chủ GPU chuyên dụng đắt tiền để vận hành không?
Không. Nhờ việc sử dụng giải thuật Haar-Cascade và bộ trích chọn đặc trưng LBPH tối ưu hóa từ thư viện OpenCV, hệ thống hoàn toàn có thể chạy mượt mà trên chip CPU văn phòng tiêu chuẩn (như Intel Core i5) với mức chiếm dụng tài nguyên dưới 25% CPU và 200MB RAM.
2. Khi khách hàng thay đổi kiểu tóc, đeo kính cận hoặc già đi theo thời gian, hệ thống có nhận diện được không?
Thuật toán LBPH trích xuất đặc trưng kết cấu cục bộ (local texture patterns) dựa trên tương quan giữa các điểm ảnh lân cận thay vì hình dạng toàn cục. Do đó, hệ thống miễn nhiễm tốt với việc thay đổi kiểu tóc hoặc đeo kính cận thông thường. Đối với sự thay đổi theo độ tuổi, hệ thống cung cấp cơ chế cập nhật tự động thêm mẫu ảnh mới vào CSDL trong mỗi lần nhận diện thành công tại quầy.
3. Dữ liệu hình ảnh khuôn mặt của khách hàng có được bảo mật không?
Hệ thống không lưu trữ toàn bộ ảnh thô của khách hàng ở trạng thái mở. Sau quá trình trích xuất, ảnh được chuyển đổi thành các chuỗi vector số học (histogram) và ma trận nhị phân. Các dữ liệu này được mã hóa chuẩn AES-256 trước khi ghi vào cơ sở dữ liệu nội bộ của ngân hàng, đảm bảo tuân thủ nghiêm ngặt các quy định về an toàn thông tin tài chính.
4. Hệ thống xử lý thế nào khi có nhiều khách hàng cùng xuất hiện trước camera?
Module Haar-Cascade MultiScale có khả năng phát hiện đồng thời nhiều khuôn mặt trong một khung hình. Mỗi khuôn mặt sau khi phát hiện sẽ được đưa vào các luồng xử lý (threads) độc lập để trích xuất vector đặc trưng và so khớp song song, đảm bảo không xảy ra hiện tượng nghẽn luồng xử lý.
5. Chi phí ước tính để trang bị giải pháp này cho 1 phòng giao dịch là bao nhiêu?
Chi phí triển khai cực kỳ tối ưu vì tận dụng lại 100% máy tính làm việc sẵn có của GDV và hệ thống mạng nội bộ. Chi phí phát sinh duy nhất là trang bị 01–02 camera IP Full HD chất lượng tốt tại cửa/quầy với ngân sách ước tính từ 3.000.000 đến 6.000.000 VNĐ cho mỗi phòng giao dịch.
Kết luận
Đề tài khóa luận "Ứng dụng nhận diện khuôn mặt trong bài toán chăm sóc khách hàng tại ngân hàng VietinBank sử dụng OpenCV" đã giải quyết thành công bài toán tự động hóa nhận diện và phân luồng khách hàng tại quầy giao dịch. Bằng sự kết hợp chặt chẽ giữa nền tảng lý thuyết thị giác máy tính vững chắc (Haar-like, LBPH, PCA) và ngôn ngữ lập trình Python, hệ thống đạt độ chính xác thực nghiệm trung bình 94.6% với độ trễ phản hồi chỉ 115ms.
Giải pháp không chỉ mang lại giá trị công nghệ cao trong việc tối ưu hóa hạ tầng sẵn có mà còn chứng minh hiệu quả kinh tế rõ nét qua việc cắt giảm thời gian chờ đợi, nâng cao năng suất phục vụ và gia tăng mức độ gắn kết của khách hàng đối với thương hiệu VietinBank. Đây là bước đệm quan trọng mở ra tiềm năng ứng dụng sâu rộng các công nghệ sinh trắc học không chạm vào hệ sinh thái ngân hàng tự động hóa trong tương lai.