intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Xây dựng hệ thống phát hiện khuôn mặt và cảnh báo bằng Email trên Android với vi xử lý ARM CORTEX A8

Chia sẻ: Thi Thi | Ngày: | Loại File: PDF | Số trang:6

115
lượt xem
15
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Sự phát triển của các nền tảng sử dụng hệ điều hành Android và vi xử lý ARM, cùng với sự ra đời của phiên bản OpenCV dành cho Android đã tạo điều kiện cho các lập trình viên phát triển các ứng dụng thị giác máy tính cho các hệ thống nhúng.

Chủ đề:
Lưu

Nội dung Text: Xây dựng hệ thống phát hiện khuôn mặt và cảnh báo bằng Email trên Android với vi xử lý ARM CORTEX A8

Đoàn Ngọc Phƣơng<br /> <br /> Tạp chí KHOA HỌC & CÔNG NGHỆ<br /> <br /> 116 (02): 105 - 110<br /> <br /> XÂY DỰNG HỆ THỐNG PHÁT HIỆN KHUÔN MẶT VÀ CẢNH BÁO BẰNG<br /> EMAIL TRÊN ANDROID VỚI VI XỬ LÝ ARM CORTEX A8<br /> Đoàn Ngọc Phương*<br /> Trường Đại học Công nghệ thông tin và Truyền thông – ĐH Thái Nguyên<br /> <br /> TÓM TẮT<br /> Sự phát triển của các nền tảng sử dụng hệ điều hành Android và vi xử lý ARM, cùng với sự ra đời<br /> của phiên bản OpenCV dành cho Android đã tạo điều kiện cho các lập trình viên phát triển các<br /> ứng dụng thị giác máy tính cho các hệ thống nhúng. Trong đó, các ứng dụng nhận diện khuôn mặt<br /> trên hệ nhúng hiện nay đang rất đƣợc quan tâm nhƣng chƣa đƣợc khai thác hết. Bài báo này sẽ đề<br /> xuất phƣơng pháp xây dựng hệ thống phát hiện khuôn mặt và gửi thông báo bằng email cho ngƣời<br /> dùng. Hệ thống đƣợc triển khai trên bộ Kit ARM Cubie A10 đƣợc cài đặt hệ điều hành Android<br /> với vi điều khiển ARM Cortex A8. Qua quá trình thực nghiệm, hệ thống đã đã đạt đƣợc các kết<br /> quả tốt thể hiện hiệu quả của việc sử dụng các hệ thống nhúng trong bài toán phát hiện xâm nhập<br /> qua hình ảnh và cảnh báo tới ngƣời dùng.<br /> Từ khóa: ARM, Cortex A8, OpenCV, OpenCV4Android, phát hiện khuôn mặt, thị giác máy tính,<br /> thị giác nhúng, Android.<br /> <br /> GIỚI THIỆU*<br /> Phát hiện khuôn mặt là kỹ thuật cho phép<br /> phát hiện ra khuôn mặt ngƣời trong một<br /> khung hình hay trong một đoạn video [1]. Kỹ<br /> thuật này cho phép phân biệt khuôn mặt với<br /> các thành phần khác trong hình ảnh nhƣ cơ<br /> thể, cây cối, xe cộ, …, sau đó xác định vị trí<br /> và kích thƣớc của khuôn mặt để sử dụng<br /> trong các mục đích khác nhau. Phát hiện<br /> khuôn mặt đƣợc phát triển từ những năm 70<br /> của thế kỷ trƣớc [1] và đã đạt đƣợc nhiều<br /> thành tựu đáng kể với những giải thuật điển<br /> hình nhƣ adaboost, các đặc trƣng haar-like,<br /> mô hình Cascade of Classifiers [1]. Những<br /> giải thuật đó đã giải quyết đƣợc các vấn đề<br /> đặt ra với phát hiện khuôn mặt, đó là: Phát<br /> hiện khuôn mặt ngƣời ở các tƣ thế khác nhau;<br /> Phát hiện khuôn mặt khi trên khuôn mặt có<br /> nhiều chi tiết không thuộc khuôn mặt ngƣời;<br /> Phát hiện các trạng thái khác nhau của khuôn<br /> mặt;Phát hiện khuôn mặt khi nó bị che khuất<br /> một phần,…Phát hiện khuôn mặt đã đƣợc áp<br /> dụng trong rất nhiều lĩnh vực [1]: Xác minh<br /> tội phạm,bảo mật,tìm kiếm dữ liệu…<br /> Tuy có một lịch sử phát triển lâu dài nhƣ vậy,<br /> nhƣng phát hiện khuôn mặt vẫn tiếp tục đƣợc<br /> *<br /> <br /> Tel: 0979 479940, Email: dnphuong@ictu.edu.vn<br /> <br /> nghiên cứu, cải tiến để phù hợp với những<br /> yêu cầu mới. Gần đây, kỹ thuật phát hiện<br /> khuôn mặt bắt đầu đƣợc sử dụng rộng rãi<br /> trong các hệ thống nhúng với hai lý do chính,<br /> một là:Sự phát triển của vi xử lý tiên tiến, tiết<br /> kiệm điện năng ARM, sự xuất hiện của các hệ<br /> điều hành nhƣ Android, Linux trên các hệ<br /> thống nhúng [6], [9]; Hai là, sự hỗ trợ của hệ<br /> điều hành Android cho bộ thƣ viện thị giác<br /> máy tính OpenCV[9].<br /> Với những xu hƣớng phát triển nhƣ vậy, giờ<br /> đây ngƣời lập trình có thể sử dụng thƣ viện<br /> OpenCV để tạo ra các ứng dụng phát hiện<br /> khuôn mặt cho các hệ nhúng sử dụng nền<br /> tảng Android với lõi vi xử lý ARM [6], [8].<br /> Trên thực tế bài toán đã đƣợc triển khai rất<br /> hiệu quả trên các thiết bị di động, tuy nhiên<br /> các nhà phát triển chƣa thực sự quan tâm tới<br /> việc phát triển ứng dụng phát hiện khuôn mặt<br /> trên các hệ thống nhúng. Bên cạnh đó, các hệ<br /> thống quan sát hiện nay phần lớn chỉ quan<br /> tâm tới thị trƣờng của camera, khả năng phát<br /> hiện đối tƣợng mà chƣa thực sự quan tâm tới<br /> khả năng tự động gửi thông báo từ xa cho<br /> ngƣời dùng.<br /> Bài báo này đề xuất về việc xây dựng một hệ<br /> thống thông minh cho phép phát hiện khuôn<br /> mặt và gửi email đến ngƣời giám sát trên một<br /> 105<br /> <br /> Đoàn Ngọc Phƣơng<br /> <br /> Tạp chí KHOA HỌC & CÔNG NGHỆ<br /> <br /> hệ nhúng. Chƣơng trình điều khiển đƣợc triển<br /> khai trên bộ kit Cubie A10 với nền tảng<br /> Android 4.0.4 và vi xử lý ARM Cortex A8.<br /> Để thực hiện thu hình ảnh, hệ thống sử dụng<br /> một camera để quan sát môi trƣờng xung<br /> quanh. Khi phát hiện thấy có ngƣời đi vào<br /> vùng quan sát, chƣơng trình sẽ chụp lại hình<br /> ảnh và tự động gửi thông báo đến ngƣời sử<br /> dụng bằng email.<br /> ANDROID VÀ ARM<br /> Android đƣợc phát triển và tối ƣu hóa cho bộ<br /> vi xử lý lõi ARM [6]. Đặc biệt, hệ thống<br /> Android hoạt động tốt trên lõi ARM<br /> Cortex™-Ax, trong đó có ARM Cortex-A8,<br /> vi xử lý kết hợp các chức năng của một CPU<br /> lớp netbook cho các hệ thống nhúng. Với ƣu<br /> điểm tiêu thụ điện năng thấp, vi điều khiển<br /> ARM là vi điều khiển phù hợp với các điện<br /> thoại cầm tay thông minh – môi trƣờng mà<br /> ARM đƣợc triển khai mạnh mẽ [4]. Các thiết<br /> bị ARMv7 nhƣ ARM Cortex-A8 đƣợc tích<br /> hợp công nghệ SIMD tiên tiến đƣợc gọi là<br /> công nghệ Neon, đƣợc sử dụng để tăng tốc độ<br /> nhiều thao tác nhƣ mã hóa hay thao tác đồ<br /> họa trên điểm ảnh và có thể cải thiện hiệu<br /> suất trên mã ARM hoặc tập lệnh THUMB®.<br /> [6] Tất cả các thiết bị TI đều có công nghệ<br /> Neon. Hiện nay có nhiều thế hệ ARM mới, ví<br /> dụ nhƣ ARM9, nhƣng Android không đƣợc<br /> tối ƣu hóa cho ARM9. Mặc dù Android có thể<br /> đƣợc triển khai trên hệ thống có lõi ARM9,<br /> nhƣng hiệu suất sẽ thấp hơn so với việc dùng<br /> nhân ARM Cortex-A8 [6]. Hơn nữa với lõi<br /> ARM Cortex A8 có thể thực hiện nhiều công<br /> việc phức tạp với giá thành hợp lý mà không<br /> cần đến các lõi hiện đại hơn.<br /> Các môi trƣờng phát triển của Android:<br /> Với thành tựu đạt đƣợc trong thị trƣờng điện<br /> thoại di động, Android đang nỗ lực phát triển<br /> để xâm chiếm vào các thị trƣờng khác nhƣ thị<br /> trƣờng các thiết bị gia dụng, các thiết bị<br /> chuẩn đoán y tế, các dây truyền công<br /> nghiệp,…. Trong đó Android đặc biệt chú ý<br /> đến các môi trƣờng mà những thế mạnh của<br /> nó có thể đƣợc phát huy, đó là các môi<br /> 106<br /> <br /> 116 (02): 105 - 110<br /> <br /> trƣờng: Quan tâm đến nội dung đa phƣơng<br /> tiện;Linh hoạt, hƣớng đồ họa và có giao diện<br /> trực quan dựa trên cảm ứng;Có ít nhất một<br /> thành phần truyền thông.<br /> Xử lý đa phƣơng tiện:Vì hầu hết các hệ<br /> thống Android đều có các ứng dụng đa<br /> phƣơng tiện mạnh mẽ nhƣ xem phim, chụp<br /> hình,…, cho nên các nhà phát triển thƣờng<br /> đặc biệt chú ý để làm thế nào video, âm thanh<br /> và đồ họa đƣợc xử lý tốt trên hệ thống. Phần<br /> lớn các bộ mã hóa/giải mã đƣợc cấu hình sẵn<br /> với Android thƣờng độ phân giải thấp/tốc độ<br /> mã hóa chậm vì các hệ thống có mục tiêu<br /> thiết kế cho ARM™-A8 . [6], [2]Một số nền<br /> tảng, nhƣ bộ vi xử lýđiện thoại TI OMAP™,<br /> bộ vi xử lý video DaVinci và C6000 DSP + vi<br /> xử lý ARM, thƣờng kết hợp lõi ARM Cortex<br /> với lõi xử lý DSP. Điều đó đem lại hiệu quả<br /> trong việc xử lý đa phƣơng tiện, vì lõi DSP có<br /> thể giúp giảm tải và đồng thời làm tăng tốc xử<br /> lý đa phƣơng tiện cho lõi ARM.<br /> CÔNG CỤ PHÁT TRIỂN<br /> OpenCV:[2], [7], [8] Là thƣ viện thị giác<br /> máy tính mã nguồn mở, đƣợc cấp phép từ<br /> năm 2000 bởi BSD. OpenCV đƣợc xây dựng<br /> nhằm mục đích cung cấp những công cụ cần<br /> thiết để giải quyết các vấn đề thị giác máy<br /> tính. Bao gồm các chức năng xử lý hình ảnh ở<br /> mức độ thấp và các thuật toán cao cấp nhƣ<br /> phát hiện khuôn mặt, phát hiện ngƣời đi bộ.<br /> Thƣ viện đã đƣợc tải về hơn 5 triệu lần. Các<br /> trƣờng đại học hàng đầu và hơn 100 công ty<br /> Foutine và nhiều thành viên khác đã phát triển<br /> và duy trì hơn 2500 thuật toán có trong thƣ<br /> viện. OpenCV đƣợc viết bằng C, C++, nhƣng<br /> giao diện ứng dụng cũng bao gồm<br /> wrappercho Java, MATLAB và Python.<br /> OpenCV hiện đang hỗ trợ cho Linux, Mac OS<br /> X, Android và các nền tảng iOS.[2] OpenCV<br /> bắt đầu hỗ trợ Android trong phiên bản<br /> OpenCV 2.2. Sau đó NDVIA đã tham gia vào<br /> dự án OpenCV và từ phiên bản OpenCV 2.3<br /> các nhà phát triển đã có thể sử dụng OpenCV<br /> trên nền tảng Android với các công cụ đầy đủ<br /> và mạnh mẽ hơn.<br /> <br /> Đoàn Ngọc Phƣơng<br /> <br /> Tạp chí KHOA HỌC & CÔNG NGHỆ<br /> <br /> Kit phát triển:Các công cụ phát triển cho<br /> ứng dụng Anrdoid trên vi xử lý ARM rất<br /> phong phú, không chỉ là phần mềm mà còn là<br /> các công cụ phần cứng. Với công nghệ tiên<br /> tiến và với những ƣu điểm của vi điều khiển<br /> ARM, rất nhiều bo mạch ARM đã ra đời cho<br /> phép ngƣời lập trình có thể nghiên cứu và xây<br /> dựng hệ thống ngay trên các thiết bị thật. Các<br /> bộ Kit phát triển này thƣờng hỗ trợ các hệ<br /> điều hành Android và Linux [6].<br /> <br /> 116 (02): 105 - 110<br /> <br /> chƣơng trình điều khiển và là sản phẩm cuối<br /> cùng của hệ thống.<br /> <br /> Hình 2: Mô hình hệ thống<br /> Hình 1: Kit Cubie A10<br /> <br /> Hệ thống quan sát ngƣời qua nhận dạng<br /> khuôn mặt và gửi email cảnh báo của bài báo<br /> đƣợc thực hiện trên board Cubie A10 của<br /> Công nghệ Công ty TNHH CubieTech tại<br /> Chu Hải, Trung quốc [1], board hỗ trợ hệ điều<br /> hành Adroid, Linux, cho phép kết nối ổ HD,<br /> có cổng USB, HDMI, Ethernet, phục vụ cho<br /> việc kết nối mạng, LCD, các thiết bị ngoại vi<br /> nhƣ: chuột, bàn phím, camera, thích hợp cho<br /> việc phát triển các dự án liên quan đến thị<br /> giác máy tính trên hệ điều hành Android.<br /> XÂY DỰNG HỆ THỐNG PHÁT HIỆN<br /> KHUÔN MẶT VÀ GỬI THÔNG TIN<br /> CẢNH BÁO QUA EMAIL.<br /> Hệ thống mà tác giả đề xuất cho phép quan<br /> sát môi trƣờng xung quanh, nhận diện có<br /> ngƣời trong môi trƣờng quan sát thông qua<br /> việc phát hiện khuôn mặt, sau đó chụp ảnh và<br /> gửi thông báo đến ngƣời dùng qua email.<br /> Hệ thống gồm có một chƣơng trình điều<br /> khiển và một bo mạch. Chƣơng trình đƣợc<br /> xây dựng để điều khiển bật/tắt camera, phát<br /> hiện khuôn mặt ngƣời trong khuôn hình mà<br /> camera thu đƣợc, chụp hình và gửi email<br /> thông báo. Bo mạch đƣợc sử dụng để cài đặt<br /> <br /> Phƣơng pháp xây dựng hệ thống. Quá trình<br /> thực hiện của hệ thống quan sát phát hiện khuôn<br /> mặt và gửi thông báo qua emailnhƣ sau:<br /> Chuẩn bị board: Để vận hành board cần<br /> đƣợc gắn các thiết bị ngoại vi nhƣ camera,<br /> cáp ethernet, sau đó nạp hệ điều hành và chạy<br /> chƣơng trình điều khiển.<br /> Xử lý video và gửi email: Hoàn tất các bƣớc<br /> khởi động, chƣơng trình bắt đầu thực hiện<br /> công việc chính: Theo dõi môi trƣờng xung<br /> quanh qua camera (chƣơng trình không đƣợc<br /> thiết kế để camera có khả năng thay đổi góc<br /> quan sát, để thuận tiện cho việc lựa chọn thiết<br /> bị camera của ngƣời sử dụng), chạy khối<br /> chƣơng trình phát hiện khuôn mặt qua video,<br /> nếu thấy có khuôn mặt xuất hiện, lập tức đánh<br /> dấu vùng chứa khuôn mặt, thực hiện chụp<br /> hình, hình đƣợc thu nhỏ kích cỡ là 100x100,<br /> lƣu trong thƣ mục Gallery của thiết bị. Sau đó<br /> khối chƣơng trình gửi email đƣợc gọi, ảnh đã<br /> chụp đƣợc đính kèm vào emailvà chƣơng<br /> trình sẽ tiến hành gửi thông báo đến ngƣời<br /> dùng. Quá trình kiểm tra phát hiện khuôn mặt<br /> và gửi email đƣợc tiếp tục thực hiện cho đến<br /> khi ứng dụng bị tắt hoặc board bị ngắt nguồn.<br /> 107<br /> <br /> Đoàn Ngọc Phƣơng<br /> <br /> Tạp chí KHOA HỌC & CÔNG NGHỆ<br /> <br /> 116 (02): 105 - 110<br /> <br /> Trong một bức ảnh, có nhiều vùng không<br /> chứa khuôn mặt, nếu loại bỏ đƣợc những<br /> vùng này thời gian tính toán sẽ đƣợc giảm đi<br /> đáng kể, vì vậy, ảnh đƣợc chia ra làm nhiều<br /> cửa sổ nhỏ. Trong quá trình phát hiện đối<br /> tƣợng, các cửa sổ không chứa khuôn mặt sẽ<br /> đƣợc loại bỏ dần [9].<br /> Nếu áp dụng tất cả các đặc trƣng trên một cửa<br /> sổ sẽ tốn thời gian, nên các đặc trƣng đƣợc<br /> chia thành các nhóm, và mỗi nhóm đƣợc áp<br /> dụng trong các giai đoạn khác nhau của quá<br /> trình phân lớp đối tƣợng [9].<br /> <br /> Hình 3: Biểu đồ trạng thái của hệ thống<br /> <br /> Thiết kế chức năng nhận dạng khuôn mặt<br /> với OpenCV:OpenCV dùng thuật toán Haar<br /> Cascade để phát hiện khuôn mặt cũng nhƣ các<br /> đối tƣợng khác [9]. Haar Cascade là phƣơng<br /> pháp phát hiện đối tƣợng đƣợc đƣa ra bởi<br /> Paul Viola và Michael Jones năm 2001. Là<br /> một phƣơng pháp học máy dựa trên một chức<br /> năng Cascade đƣợc huấn luyện từ rất nhiều ảnh<br /> khẳng định và phủ định, đƣợc sử dụng để phát<br /> hiện đối tƣợng trong các bức ảnh khác nhau.<br /> Với phát hiện khuôn mặt, ban đầu thuật toán<br /> cần rất nhiều ảnh phủ định (không chứa<br /> khuôn mặt) và khẳng định (chứa khuôn mặt)<br /> để làm tập huấn luyện cho phân lớp. Sau<br /> đó đƣa ra các đặc trƣng Haar. Các ảnh trong<br /> tập huấn luyện đƣợc dùng để tính toán đặc<br /> trƣng Haar.<br /> Mỗi đặc trƣng Haar là một giá trị duy nhất thu<br /> đƣợc bằng cách trừ đi tổng các điểm ảnh ở<br /> hình chữ nhật màu trắng với tổng các điểm<br /> ảnh nằm ở vùng chữ nhật màu đen. Để nhận<br /> dạng khuôn mặt, ta cần áp dụng các đặc trƣng<br /> Haar trên các hình ảnh cần kiểm tra. Sau đó<br /> chọn đặc trƣng có tỉ lệ lỗi tối thiểu. Tuy nhiên<br /> khi kết hợp các tính năng với nhau thì tỉ lệ<br /> phát hiện đối tƣợng đạt hiệu quả tốt hơn, với<br /> 200 đặc trƣng Haar thì tỉ lệ phát hiện đối<br /> tƣợng đạt 95% [9].<br /> 108<br /> <br /> Trên mỗi cửa sổ, nếu ở giai đoạn đầu tiên bị<br /> lỗi thì cửa sổ bị loại. Nếu vƣợt qua, áp dụng<br /> giai đoạn tiếp theo của phân lớp và tiếp tục<br /> quá trình. Cửa sổ vƣợt qua tất cả các giai<br /> đoạn là khu vực chứa khuôn mặt [9].<br /> OpenCV có tập huấn luyện tốt để huấn luyện<br /> cho phát hiện mặt, mắt,..,tập huấn luyện đƣợc<br /> lƣu<br /> trong<br /> các<br /> file<br /> XML<br /> trong<br /> opencv/data/haarcascades/. Ngƣời lập trình có<br /> thể thay đổi file này để phát hiện các đối<br /> tƣợng khác theo ý muốn.<br /> Với phát hiện khuôn mặt trong video, chƣơng<br /> trình sẽ cho phép camera thực hiện capture<br /> ảnh liên tục, sau đó áp dụng thuật toán Haar<br /> Cascade trên mỗi ảnh tĩnh chụp đƣợc.<br /> KẾT QUẢ THỰC NGHIỆM<br /> <br /> Hình 5: Test hệ thống với LCD monitor<br /> <br /> Hệ thống chạy khá hiệu quả, phát hiện đƣợc<br /> khuôn mặt trong trạng thái ánh sáng tốt, nếu<br /> ánh sáng yếu hệ thống có thể không nhận<br /> dạng đƣợc khuôn mặt, còn bị nhầm lẫn với<br /> các vật thể có khung tối (giống khuôn mặt<br /> <br /> Đoàn Ngọc Phƣơng<br /> <br /> Tạp chí KHOA HỌC & CÔNG NGHỆ<br /> <br /> ngƣời với đôi mắt). Chƣơng trình đƣợc thử<br /> nghiệm với các trƣờng hợp sau:<br /> - Trong trƣờng hợp điều kiện tốt, ánh sáng<br /> thích hợp, không có vật thể lạ che khuất<br /> khuôn mặt, chƣơng trình thực hiện với 100<br /> lần thử nghiệm với các khuôn mặt khác nhau<br /> theo hƣớng trực diện, số lần phát hiện đúng<br /> khuôn mặt và gửi đƣợc email đạt 98%.<br /> - Khi ánh sáng kém, hình ảnh khuôn mặt<br /> không trực diện thì với 100 lần thử nghiệm,<br /> chƣơng trình chỉ phát hiện đúng khuôn mặt và<br /> gửi đƣợc email với tỉ lệ 30%.<br /> Hạn chế của phần mềm điều khiển hệ thống<br /> đó là việc nhận dạng khuôn mặt để phát hiện<br /> có ngƣời trong khung hình là không hợp lý<br /> trong các bài toán an ninh, giám sát. Do<br /> những đối tƣợng di chuyển vào trong khung<br /> hình có thể che mặt nên camera không thể<br /> phát hiện ra đƣợc. Bên cạnh đó còn có những<br /> vật thể không phải ngƣời nhƣ tranh ảnh, búp<br /> bê,… tuy không phải ngƣời nhƣng vẫn đƣợc<br /> hệ thống phát hiện khuôn mặt và đƣa ra thông<br /> báo. Vì thế bài toán có thể phát triển trong<br /> tƣơng lai là phát hiện ngƣời thông qua hình<br /> dáng cơ thể nhƣ vậy có thể sử dụng cho nhiều<br /> trƣờng hợp trong thực tế. Có thể áp dụng hệ<br /> thống này trong những trƣờng hợp quan sát<br /> đơn giản, ví dụ nhƣ khi vắng nhà, ngƣời dùng<br /> có thể dùng hệ thống để biết đƣợc những vị<br /> khách đã đến thăm.<br /> <br /> Hình 6: Kết quả thực hiện nhận dạng khuôn mặt<br /> trong điều kiện ánh sáng tốt.<br /> <br /> 116 (02): 105 - 110<br /> <br /> KẾT LUẬN VÀ HƢỚNG NGHIÊN CỨU<br /> TIẾP THEO<br /> Bài báo đã trình bày về cơ sở lý thuyết, các<br /> công cụ hỗ trợ và quá trình xây dựng hệ thống<br /> phát hiện khuôn mặt và gửi email thông báo<br /> trên hệ thống nhúng sử dụng hệ điều hành<br /> Android và vi điều khiển ARM Cortex A8.<br /> Tác giả đã thử nghiệm hệ thống trên bộ Kit<br /> Cubie A10 của nhà phát triển CubieTech. Kết<br /> quả cho thấy chƣơng trình hoạt động tốt, ổn<br /> định trong điều kiện ánh sáng tốt và hình ảnh<br /> khuôn mặt trực diện, tuy nhiên, trong những<br /> điều kiện ánh sáng không tốt và khuôn mặt bị<br /> che một phần thì việc nhận dạng khuôn mặt<br /> của hệ thống không đạt hiệu quả cao. Vì vậy,<br /> trong thời gian tới, tác giả sẽ tiếp tục nghiên<br /> cứu các phƣơng pháp phát hiện khuôn mặt để<br /> chƣơng trình đạt hiệu quả tốt hơn. Bài báo có<br /> thể làm tài liệu tham khảo cho các lập trình<br /> viên muốn tìm hiểu về cách xây dựng các hệ<br /> thống quan sát, gửi thông báo trên nền tảng<br /> Android với nhân vi xử lý ARM Cortex A8.<br /> TÀI LIỆU THAM KHẢO<br /> 1. All Winner Technology CO.,Ltd, (2011) A10<br /> development board hardware manual V1.1,<br /> August 24.<br /> 2. Andrey Pavlenko, (2012) OpenCV for Android,<br /> Itseez CO.<br /> 3. Andrew King, (2003) “A Survey of Methods for<br /> Face Detection”.<br /> 4. ARM LTD, (2007) Cortex-A8 Technical<br /> Reference Manual.<br /> 5. DanaH.Ballard, (1983) Christopher M. Brown,<br /> Computer Vision, Prentice Hall.<br /> 6. Darren Etheridge, (2012) Android Multimedia<br /> Engineering Manager,DSP and ARM, Texas<br /> Instruments.<br /> 7. Gary Bradski, Adrian Kaehler, (2008) Learning<br /> OpenCV: ComputerVision with the OpenCV<br /> Library, O'Reilly.<br /> 8. G. Bradski, (Nov 2000) The opencv library,<br /> Dr.Dobb’s Journal, vol. 25.<br /> 9. OpenCV 3.0.0.0, (2013) dev documentation,<br /> Face Detection using Haar Cascades, opencv<br /> dev team.<br /> 10. R. LaganiÃlre, (2011) OpenCV 2 Computer<br /> Vision Application Programming Cookbook,<br /> Packt Publishing.<br /> 11. Steve Furber, (2005) ARM-SoC Architecture,<br /> Addison Wesley Publishing.<br /> <br /> 109<br /> <br />
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2