HỌC VIỆN NGÂN HÀNG KHOA HỆ THỐNG THÔNG TIN QUẢN LÝBÀI BÁO CÁO Học phần: Trí tuệ nhân tạo trong kinh doanh ĐỀ TÀI: MÔ HÌNH NHẬN DIỆN KHUÔN MẶT TẠI CÂY ATM CỦA NGÂN HÀNG TECHCOMBANK Giảng
Trang 1HỌC VIỆN NGÂN HÀNG KHOA HỆ THỐNG THÔNG TIN QUẢN LÝ
BÀI BÁO CÁO Học phần: Trí tuệ nhân tạo trong kinh doanh
ĐỀ TÀI: MÔ HÌNH NHẬN DIỆN KHUÔN MẶT TẠI CÂY
ATM CỦA NGÂN HÀNG TECHCOMBANK
Giảng viên hướng dẫn : TS Vũ Trọng Sinh
Hà Nội, ngày 25 tháng 06 năm 2020
Trang 3MỤC LỤC
I Đặt vấn đề 1
1 Giới thiệu chung 1
1.1 Giới thiệu chung về ngân hàng 1
1.2 Hoạt động 1
1.3 Thực trạng 2
1.4 Kỳ vọng 3
2 Lập kế hoạch 3
2.1 Danh sách một số biện pháp cho hệ thống ATM của ngân hàng Techcombank 3
2.2 Lựa chọn giải pháp khả thi 4
2.3 Lí thuyết cơ bản về mạng CNN 4
II Chuẩn bị dữ liệu 5
1.1 Xác định dữ liệu cần thu nhập 5
1.2 Thuộc tính nhãn cần dự đoán 5
1.3 Cách thức thu nhập 5
III Xây dựng mô hình và chạy thực nghiệm 6
3.1 Ý tưởng của mô hình 6
3.2 Chạy thực nghiệm 6
3.3 Kết quả mô hình 18
IV Đánh giá 19
4.1 Ưu điểm 19
4.2 Nhược điểm 19
V Kết luận 20
Tài liệu tham khảo 20
1 Giới thiệu chung I Đặt vấn đề
1.1 Giới thiệu chung về ngân hàng
Ngân hàng thương mại cổ phần Kỹ Thương Việt Nam được thành lập thành lập năm
1993 với số vốn điều lệ ban đầu là 20 tỷ đồng Trong bối cảnh nền kinh tế đang
chuyển mình từ chế độ kinh tế tập trung sang nền kinh tế thị trường Tên đầy đủ:
Ngân hàng Thương mại cổ phần Kỹ thương Việt Nam
Website: https://www.techcombank.com.vn
Tên giao dịch quốc tế: Vietnam Technological and Commerical Joint – Stock Bank Tên viết tắt: Techcombank
Ngành nghề: Ngân hàng
Thể loại: Kỹ thuật, thương mại
Thành lập: 27 tháng 9, 1993
1 | P a g e
Trang 4Trụ sở chính: 191 phố Bà Triệu, quận Hai Bà Trưng, Hà Nội, Việt Nam
Sản phẩm: Dịch vụ tài chính
Số nhân viên: 7.800
Chi nhánh: 300 chi nhánh và phòng giao dịch
Sau 27 năm xây dựng và phát triển, Techcombank ngày nay đang dần xây dựng được một nền tảng tài chính ổn định cho khách hàng tin tưởng chọn lựa giao dịch
Techcombank là một trong những ngân hàng TMCP lớn nhất Việt Nam và một trong những ngân hàng hàng đầu ở Châu Á Ngân hàng cung cấp các sản phẩm và dịch vụ tài chính đa dạng cho hơn 5.4 triệu khách hàng ở Việt Nam với mạng lưới 315 chi nhánh trên toàn quốc Trở thành ngân hàng lớn hàng đầu về vốn điều lệ Techcombank theo đuổi một mô hình kinh doanh khác biệt, lấy khách hàng làm trọng tâm, và gặt hái được những thành công cụ thể trong việc thực hiện cách tiếp cận theo hệ sính thái Thông quaviệc hợp tác với các khách hàng doanh nghiệp lớn đóng vai trò đầu mối, như các tập đoàn phát triển bất động sản hàng đầu, các hãng hàng không, hay các tập đoàn điện lực
và viễn thông Từ những cam kết giá trị của Ngân hàng tới khách hàng, từ các sản phẩmđược thiết kế phù hợp cho từng phân khúc khách hàng, cũng như chất lượng dịch vụ đứng đầu thị trường đã giúp cho Techcombank thu hút và nắm giữ một cơ sở khách hàng chất lượng cao từ các doanh nghiệp lớn, đến các doanh nghiệp vừa và nhỏ, đến các cá nhân Techcombank cũng đi tiên phong trong việc ứng dụng công nghệ như là nền tảng để cung cấp dịch vụ tốt nhất cho khách hàng
1.2 Hoạt động
Ngân hàng Techcombank đang cung cấp đầy đủ các sản phẩm tài chính, ngân hàng Khách hàng có thể sử dụng đầy đủ các dịch vụ từ chuyển tiền trong và ngoài nước, gửi tiết kiệm, vay vốn, bảo hiểm,…
(1) Các sản phẩm thẻ ngân hàng Techcombank
Trang 5– Các loại thẻ thanh toán Techcombank: An toàn, tiện lợi, dễ dàng theo dõi chi tiết giao
dịch qua dịch vụ E-banking hoàn toàn miễn phí và nhận hoàn tiền không giới hạn cho mọi chi tiêu với thẻ thanh toán Techcombank
– Các loại thẻ tín dụng Techcombank: Với tối đa 45 ngày miễn lãi khi thanh toán bằng
thẻ tín dụng Techcombank, bạn có thể thỏa sức tận hưởng cuộc sống trong từng khoảnhkhắc với những sản phẩm, dịch vụ đẳng cấp tại Việt Nam và trên thế giới
(2) Sản phẩm tiết kiệm ngân hàng Techcombank
– Tiết kiệm Thường
– Tiết kiệm Phát Lộc
– Tiền gửi Online
– Tiết kiệm Trả lãi trước:
(3) Sản phẩm tín dụng ngân hàng Techcombank
Các sản phẩm tín dụng ngân hàng Techcombank hướng đến từng đối tượng cụ thể với những chính sách cho vay ưu đãi cũng lãi suất vay vốn hấp dẫn
– Ưu đãi vượt trội dành cho khách hàng
– Vay mua, sửa nhà
dân không chỉ ở các thành phố lớn mà còn ở các tỉnh thành khác trong cả nước.
Khách hàng liên tục gặp phải rắc rối và khó khăn khi giao dịch tại các cây ATM: số lượng quầy giao còn hạn chế không có ở tất cả các tỉnh, thành phố; các cây ATM bị hỏng hay báo lỗi do hệ thống ATM hoạt động chậm, quá tải hay hết tiền là một con số lớn không kém; giao diện của các máy ATM thì chưa thật sự tốt, còn khó khăn trong sử dụng đối với nhiều người dẫn đến tình trạng nhập sai mã pin làm thẻ bị khóa; quy trình phức tạp rút tại các cây là nguyên nhân dẫn đến tình trạng quá tải khi làm sai một bước, bạn phải thực hiện lại từ đầu; tình trạng người dân xếp hàng dài chỉ để rút tiền tại cây ATM Điều này không những không mang lại nhiều cơ hội cho Techcombank mà còn khiến cho khách hàng cảm thấy khó khăn, tạo ra trải nghiệm không tốt
Trong bối cảnh đại dịch Covid-19, nhiều vấn đề phát sinh khi số lượng lớn khách hàng
sử dụng cây ATM có khả năng truyền nhiễm bệnh rất cao Từ đó đặt ra câu hỏi cho Techcombank, làm như thế nào để có thể duy trì nhưng đồng thời phải cải tiến, phát triển hệ thống ATM của mình để không những giải quyết được vấn đề quá tải tại cây
2 | P a g e
Trang 6ATM, giảm thiểu hỏng hóc của ATM, gia tăng tốc độ quá trình nhưng đồng thời phải đảm bảo an toàn cho người dân trước dịch bệnh.
1.4 Kỳ vọng
Trước thực trạng trên của ngân hàng Techcombank, nhóm nghiên cứu kỳ vọng có thể
đề xuất giải pháp giúp ngân hàng Techcombank giải quyết được một phần các vấn đề đang tồn tại ở hệ thống ATM của Techcombank và nâng cấp hệ thống ATM một cách
an toàn, nhanh chóng và đáp ứng nhu cầu khách hàng, đặc biệt ở tiêu chí độ tin cậy và bảo mật với khách hàng để khách hàng có được trải nghiệm dịch vụ tốt nhất tại hệ thống ATM của ngân hàng
2 Lập kế hoạch
2.1 Danh sách một số biện pháp cho hệ thống ATM của ngân hàng Techcombank
a Mở thêm nhiều cây ATM
Ưu điểm: Giảm tình trạng quá tải tại các cây ATM, có thể phục vụ tốt hơn khách hàng
ở nhiều nơi
Nhược điểm: Chi phí mở rộng hệ thống máy ATM là lớn, chi phí cho nhân viên bảo trì
và những vấn đề khác thì còn bỏ ngỏ, chưa giải quyết được ngay
b Phát triển hệ thống thanh toán không dùng tiền mặt
Ưu điểm: Có thể giảm lượng lớn tiền mặt trong lưu thông, giúp người dân không còn gặp tình trạng đánh rơi tiền, tình trạng cướp giật, bắt kịp xu hướng công nghệ, tình trạng tắc nghẽn ở hệ thống ATM sẽ không xảy ra nữa
Nhược điểm: Còn nhiều bất cập vì chỉ đáp ứng bộ phận nhỏ trong dân cư và hầu hết thìtrong các giao dịch thường ngày người dân dùng là bằng tiền mặt Mặt khác, để phát triển hệ thống này cần sự phối hợp rất lớn của các doanh nghiệp khác và trong hệ thốngchung của ngân hàng thương mại
c Tối ưu hóa quy trình khi làm hồ sơ ở ngân hàng.
Ưu điểm: Nghiệp vụ ngân hàng bao gồm rất nhiều quy trình mang tính lặp lại với cáctiêu chuẩn, quy định đã xác định sẵn Công cụ robot tích hợp trí tuệ nhân tạo có thể xử
lý công việc một cách nhanh chóng, chính xác
Nhược điểm: Chi phí cao, đa số các công việc vẫn phải cần đến sự can thiệp của con người để kiểm tra do phụ thuộc vào xu thế của thị trường, cần con người đi thực tế thị trường
d Thêm tính năng tự động phát hiện lỗi và sửa lỗi ngay
Ưu điểm: Tiết kiệm thời gian, có thể khắc phục ngay sự cố khi giao dịch
Nhược điểm: Tự động phát hiện lỗi thì có thể khắc phục biện pháp này nhưng sửa lỗi ngay khi gặp trục trặc thì tính khả thi không cao và khó thực hiện vì nhiều lỗi cần phải dùng đến trực tiếp con người thì mới có thể khắc phục
Trang 7e Dự đoán thời gian cao điểm rút tiền và nhu cầu rút tiền
Ưu điểm : Dựa vào hệ thống có thể phát hiện giờ nào, ngày nào người dân đi rút tiền, nhu cầu của người dân ra sao để kịp thời cung cấp tiền vào cây ATM
Nhược điểm : Còn phụ thuộc vào tâm lí của người dân mà tâm lí của người dân luôn thay đổi và tiền tệ là một thứ nhạy cảm khó có thể luôn luôn luôn mở cây ATM ra để đút tiền vào, muốn đút được tiền thì còn phải có những khung giờ theo quy định và giao diện cỉa cây ATM còn nhiều hạn chế
f Có hệ thống nhân viên 24/7 trực tại các hệ thống ATM
Ưu điểm: Các cây ATM sẽ luôn trong tình trạng được giám sát, bảo đảm hoạt động tốt 24/7 thỏa mãn nhu cầu khách hàng
Nhược điểm: Cần số lượng chi phí để mở rộng thuê nhân viên, đào tạo và việc phụ vụ 24/7 là không khả thi
g Phát triển hệ thống nhận diện khuôn mặt tại cây ATM
Ưu điểm: Hệ thống nhận diện khuôn mặt sẽ cho ra kết quả nhanh, chính xác, khôngcần thao tác nhập mã pin nên sẽ khắc phục được tình trạng lỗi khi giao dịch và tìnhtrạng quên mật khẩu, có thể thực hiện giao dịch cho dù bạn không mang theo thẻ tíndụng, giúp ngân hàng có thể hội nhập với thời đại công nghệ số
Nhược điểm: Có thể bị nhận nhầm khi là người giao dịch có anh ( chị, em) song sinh, cần chi phí, thời gian xây dựng hệ thống có thể sẽ lâu vì phải thu thập nhiều dữ liệu của người dân, có thể bị phần mềm tác động
2.2 Lựa chọn giải pháp khả thi
Dựa trên cơ sở ưu điểm, nhược điểm và tính khả thi của các phương án, nhóm chúng
em lựa chọn phương án “Phát triển hệ thống nhận diện khuôn mặt tại các cây ATM” vì :
Khả năng ứng dụng của mô hình cao
Giải quyết được độ chậm trễ, chỉ cần bước vào và thực hiện các thao tác một cách đơn giản, nhanh chóng
Góp phần nâng cao an ninh trong hệ thống camera tại cây ATM
Người dân có thể thực hiện mà không cần sự tương tác của con người
Tạo ra kho dữ liệu dựa trên mức độ tin cậy một cách dễ dàng khi có thể nhận diện được khuôn mặt, từ đó đưa vào 2 danh sách phổ biến là “Trắng – Tin cậy” và “Đen – Blacklist ( danh sách đen )” Giúp gia tăng an ninh cho ngân hàng và người dân quanh khu vực cây rút tiền
2.3 Lí thuyết cơ bản về mạng CNN
Để dạy thuật toán nhận diện đối tượng trong hình ảnh, ta sử dụng một loại mạng ron nhân tạo (Artificial Neural Network): Convolutional Neural Network (CNN – Mạng nơ-ron tích chập) Tên của nó được dựa trên phép tính quan trọng được sử dụng trong mạng đó là tích chập CNN là một trong những mô hình Deep Learning tiên tiến
Trang 8nơ-giúp cho chúng ta xây dựng được những hệ thống thông minh với độ chính xác cao như hiện nay.
Đặc trưng:
CNN so sánh hình ảnh theo từng mảnh, mỗi mảnh đó được gọi là feature (đặc trưng) Mỗi feature được coi như một hình ảnh mini, tức là chúng cũng là những mảng hai chiều nhỏ Các feature sẽ được khớp với các khía cạnh chung của bức ảnh nghĩa là feature này sẽ tương ứng với khía cạnh nào đó của bức ảnh và chúng sẽ được khớp lại với nhau Khi xem một hình ảnh mới, CNN sẽ không biết nó ở vị trí nào và các feature khớp với nhau ở đâu, vì vậy nó thử chúng ở tất cả các vị trí khác nhau Trong quá trình
đó chúng tạo thành một bộ lọc, gọi là filter Và để thực hiện điều này, chúng ta sử dụng phép toán tích chập Phép tích chập là phép nhân giữa mỗi điểm ảnh trong feature với giá trị của điểm ảnh tương ứng trong hình ảnh đó
Cấu trúc:
CNN bao gồm tập hợp các lớp cơ bản bao gồm: lớp tích chập (Convolutional); lớp kích hoạt phi tuyến (Non Linearity); lớp lấy mẫu (Pooling); lớp kết nối đầy đủ
(Fullyconnected) Các lớp này liên kết với nhau theo một thứ tự nhất định
Thông thường, một ảnh sẽ được lan truyền qua lớp tích chập và lớp kích hoạt phi tuyến đầu tiên, sau đó các giá trị tính toán được sẽ lan truyền qua lớp lấy mẫu, bộ ba lớp tích chập và lớp kích hoạt phi tuyến và lớp lấy mẫu có thể được lặp lại nhiều lần trong mạng Và sau đó được lan truyền qua kết nối đầy đủ để tính sác xuất ảnh đó chứa vật thể gì Cấu trúc của mạng CNN cơ bản bao gồm: lớp tích chập Convolution Layer, lớp kích hoạt phi tuyến, lớp lấy mẫu Pooling Layer, lớp kết nối đầy đủ Fully Connected Layer
II Chuẩn bị dữ liệu
Trang 9b Hình ảnh và Video
Dữ liệu có thể thu nhập khi trích xuất hình ảnh và video từ camera của ngân hàng khikhách hàng khi đến cây ATM hoặc vào quầy giao dịch tại ngân hàng Techcombank đểthực hiện giao dịch
III Xây dựng mô hình và chạy thực nghiệm
3.1 Ý tưởng của mô hình
Bài toán sử dụng phương pháp học có giám sát, cụ thể là học sâu ( deep learning ),
ta sử dụng một loại mạng là mạng nơ – ron tích chập ( Convolutional Neural
Network – CNN ).
Mô hình nhận dạng danh tính trích xuất các đặc điểm từ hình ảnh khuôn mặt đầu vào
và so sánh chúng với các đặc điểm được gán nhãn trong cơ sở dữ liệu So sánh được thực hiện dựa trên số liệu về độ tương đồng của tính năng và nhãn của cơ sở dữ liệu tương tự nhất được sử dụng để gán nhãn cho hình ảnh đầu vào Đề tài của nhóm được lấy ý tưởng từ mô hình tái nhận diện danh tính (Khôi Tuấn Nguyễn, Aivivn) và mô hình nhận diện khuôn mặt sử dụng keras của Martin Krasser Cụ thể trong bài toán này, kết quả nhóm mong muốn đạt được là khi chụp ảnh khách hàng đến ATM, mô hình sẽ định danh được khách hàng đó là ai Từ kết quả này, sau đó ngân hàng có thể tiến hành kiểm tra thông tin khách hàng trong kho dữ liệu để đảm bảo tính bảo mật cho giao dịch ATM
Mô hình được triển khai như sau: sử dụng thư viện face_detection phát hiện khuôn mặt Tiếp theo train mô hình xác định danh tính sử dụng việc tính toán khoảng cách embedding vector để so sánh Mô hình sử dụng cấu trúc CNN với phần cuối của mạng
là một lớp mạng kết nối đầy đủ (Fully Connected) 128 phần tử và một lớp L2
normalization, cho phép thu được một embedding vector Bằng việc so sánh khoảng cách Euclide của các embedding vector của các khuôn mặt, ta có thể xác định được cáckhuôn mặt đó giống hay khác, cụ thể, hai khuôn mặt giống nhau có khoảng cách Euclide nhỏ và hai khuôn mặt khác biệt thì có khoảng cách Euclide lớn Cấu trúc chi tiết của mạng CNN được mô tả chi tiết ở phần code phía sau
3.2 Chạy thực nghiệm
Việc xây dựng và chạy mô hình thử nghiệm sẽ dựa trên ứng dụng Google Colab.
Bước 1: Đăng nhập vào công cụ cần thiết: Đăng nhập Gmail vào Tài khoản Google Drive và Google Colab
Trang 10Tiếp theo là tạo thư mục mới tên là My driver, sau đó ấn chuột phải rồi chọn ứng dụng khác và ra Google Colab.
Trang 11Bước 2: Tải dữ liệu tìm kiếm lên Google Drive
Để chạy code cho bài nhận diện được thuận lợi thì phải chuẩn bị trước các file sau đây:
Cài thư viện: Opencv 3.4.5, keras 2.2.4, tqdm 4.31.1, pandas 0.23.4, scipy 1.2.0 Dlib 19.4.0 (wheel file cho windows )
Download shape_predictor_68_face_landmarks.dat và để vào trong folder chứa project
Chạy python face_detect_and_save.py
Chạy python main.py
Được các file giống như hình dưới đây:
Trước hết, nhóm tải ảnh của 10 người Mỗi người 6 file ảnh có định dạng ảnh jpg (jointphotographic group) và xếp vào 10 thư mục con có tên lần lượt là Ngoc_Anh, Le_Quynh,Hong_Hao, Kim_Chi, Nguyen_Ha, Hai_Hau, Lisa, Son_Tung, Song_Joong_Ki,
Yang_Ki_Yong trong thư mục mẹ „image‟ trên My Drive Ngoài ra nhóm tải thêm 52 ảnh đểtest trong thư mục test_image
Trang 12Bước 3: Chạy code cho mô hình trên Google Collab:
1 Kết nối với Google Drive để đọc dữ liệu
Trang 132 Khai báo các thư viện cần sử dụng
3.Định nghĩa thêm các hàm LRN2D, conv2d_bn để chạy mô hình
Trang 144 Khai báo thư viện và định nghĩa hàm create_model trong mạng CNN để sử dụng cho mô hình nn4.small2
Cấu trúc CNN được xây dựng theo mô hình sau:
Phần cuối của mạng là một lớp Fully Connected 128 phần tử và một lớp L2
normalization, cho phép thu được một embedding vector Bằng việc so sánh khoảng cách Euclide của các embedding vector của các khuôn mặt, ta có thể xác định được các khuôn mặt đó giống hay khác, cụ thể, hai khuôn mặt giống nhau có khoảng cách Euclide nhỏ và hai khuôn mặt khác biệt thì có khoảng cách Euclide lớn Cấu trúc chi tiết của mạng CNN được định nghĩa trong model.py