1. Trang chủ
  2. » Giáo Dục - Đào Tạo

KHÓA LUẬN TỐT NGHIỆPXÂY DỰNG ỨNG DỤNG NHẬN DẠNGBIỂN BÁO GIAO THÔNG TRÊN THIẾT BỊ DIĐỘNG

26 24 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 26
Dung lượng 2,43 MB

Nội dung

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM KHÓA LUẬN TỐT NGHIỆP XÂY DỰNG ỨNG DỤNG NHẬN DẠNG BIỂN BÁO GIAO THÔNG TRÊN THIẾT BỊ DI ĐỘNG Giáo viên hướng dẫn: ThS PHAN NGUYỆT MINH Sinh viên thực hiện: NGUYỄN BÁ CHUNG ĐỖ TRƯỜNG GIANG Lớp : Khoá: CNPM02 02 TP Hồ Chí Minh, tháng năm 2012 GVHD: ThS Phan Nguyệt Minh SVTH: Nguyễn Bá Chung Đỗ Trường Giang MỞ ĐẦU Ngày với tiến khoa học kỹ thuật cơng việc tiến hành máy tính cách tự động hóa hồn tồn phần Một thay đổi lớn cách thức thu nhận xử lý liệu Các cơng cụ nhập liệu bàn phím hay máy scan dần bị thay thiết bị tiện lợi hình cảm ứng, camera… Hơn nữa, máy tính để bàn khơng cịn cơng cụ hỗ trợ cho người Chúng ta bước sang kỷ 21 với phát triển mạnh mẽ thiết bị di động, giải trí cầm tay hay smartphone Với kích thước ngày nhỏ gọn hiệu suất làm việc khơng ngừng cải tiến, công cụ mini hứa hẹn phần thiếu xã hội đại Và đó, phát triển ứng dụng thiết bị xu tất yếu Công nghệ nhận dạng công nghệ áp dụng cho thiết bị di động Nhận dạng bao gồm nhận dạng âm thanh, hình ảnh Các đối tượng nhận dạng có nhiều kiểu tiếng nói, chữ viết, khn mặt, mã vạch … biển báo giao thông số Chương trình nhận dạng biển báo giao thông thường phức tạp cài đặt hệ thống có xử lý lớn, camera chất lượng cao Mục tiêu khóa luận cải tiến cơng nghệ nhận dạng mang cài đặt thiết bị di động, giúp phát biển báo nhận dạng cách nhanh Khóa luận “Xây dựng ứng dụng nhận dạng biển báo giao thông thiết bị di động” bao gồm tất chương Chương I: Giới thiệu: Giới thiệu khái qt khóa luận mục đích khóa luận Chương II: Nền tảng công nghệ: Giới thiệu đầy đủ kiến thức tảng cơng nghệ phần mềm sử dụng khóa luận bao gồm kiến GVHD: ThS Phan Nguyệt Minh SVTH: Nguyễn Bá Chung Đỗ Trường Giang thức xử lý ảnh, lý thuyết mạng noron, môi trường hệ điều hành dành cho di động Android, thư viện xử lý ảnh OpenCV Chương III: Xây dựng ứng dụng: Trình bày mơ hình giải tốn nhận dạng thiết bị di động, sơ đồ chức thiết kế giao diện chương trình Chương IV: Đánh giá kết kết luận: Tổng kết trình thực khóa luận rút hướng phát triển sau GVHD: ThS Phan Nguyệt Minh SVTH: Nguyễn Bá Chung Đỗ Trường Giang LỜI CẢM ƠN Trong suốt thời gian thực khóa luận tốt nghiệp, chúng em nhận giúp đỡ, bảo tận tình thầy cô Trường ĐH CNTT – ĐHQGTPHCM Chúng em xin gửi lời cảm ơn sâu sắc đến quý thầy cô Đặc biệt xin chân thành cảm ơn cô Phan Nguyệt Minh – người trực tiếp hướng dẫn tạo điều kiện thuận lợi giúp đỡ chúng em hoàn thành khóa luận Chúng em xin cảm ơn chân thành tới gia đình bạn bè, cơng ty tạo điều kiện, giúp đỡ động viên chúng em hồn thành khóa luận thời hạn Mặc dù cố gắng hết khả khóa luận khơng thể tránh khỏi thiếu xót Rất mong nhận góp ý q báu q thầy để khóa luận hồn chỉnh Nhóm sinh viên thực Nguyễn Bá Chung – Đỗ Trường Giang Tháng – 2012 GVHD: ThS Phan Nguyệt Minh SVTH: Nguyễn Bá Chung Đỗ Trường Giang NHẬN XÉT (Của giảng viên hướng dẫn) GVHD: ThS Phan Nguyệt Minh SVTH: Nguyễn Bá Chung Đỗ Trường Giang NHẬN XÉT (Của giảng viên phản biện) GVHD: ThS Phan Nguyệt Minh SVTH: Nguyễn Bá Chung Đỗ Trường Giang MỤC LỤC GVHD: ThS Phan Nguyệt Minh SVTH: Nguyễn Bá Chung Đỗ Trường Giang DANH MỤC BẢNG BIỂU GVHD: ThS Phan Nguyệt Minh SVTH: Nguyễn Bá Chung Đỗ Trường Giang DANH MỤC HÌNH VẼ GVHD: ThS Phan Nguyệt Minh SVTH: Nguyễn Bá Chung Đỗ Trường Giang | Trang CHƯƠNG : GIỚI THIỆU 1.1 Giới thiệu đề tài Ngày nay, tiến khoa học kỹ thuật cơng nghệ giúp ích nhiều cho sống người Mọi thứ tự động hiệu suất công việc nâng cao với trợ giúp máy móc, thiết bị Một công nghệ tiên tiến áp dụng rộng rãi đời sống cơng nghệ nhận dạng Hình 1.1 – Một số thiết bị thường sử dụng nhận dạng Nhận dạng liệu bao gồm có nhận dạng âm nhận dạng hình ảnh Các đối tượng tốn nhận dạng phong phú, ví dụ nhận dạng khn mặt, tiếng nói, nhận dạng chữ viết tay, nhận dạng mã vạch … Biển báo giao thông số Biển báo kiểu đối tượng có tính chất hình học đặc trưng, thường bắt gặp đời sống ngày với công dụng đưa cảnh báo thông tin cho người tham gia giao thơng Tuy nhiên biển cáo giao thơng khơng có quy luật mà hệ thống ký hiệu với ý nghĩa qui ước kèm theo Việc ghi nhớ hình dạng ý nghĩa tất loại biển báo khó khăn lớn, chí người có lái xe chưa thuộc nghĩa biển báo, nảy sinh nhu cầu tra cứu lúc nơi để bù đắp kiến thức Hơn nữa, nhà nước có chương trình phổ cập giáo dục Luật giao thông đến GVHD: ThS Phan Nguyệt Minh SVTH: Nguyễn Bá Chung Đỗ Trường Giang | Trang 1.2 Mục tiêu đề tài Mục tiêu đề tài nghiên cứu tốn nhận dạng nói chung nhận dạng biển báo giao thơng nói riêng, từ cải tiến áp dụng cho việc xây dựng hệ thống thiết bị di động Mặc dù smartphone có cải tiến vượt trội tất nhiên khác biệt phần cứng chip xử lý hay camera khơng thể so sánh với máy tính Do chương trình nhóm xây dựng tìm cách tối ưu hóa cho tận dụng khả vốn có smartphone Ngồi hệ thống biển báo giao thông nước ta lớn, nhóm xây dựng chương trình hồn chỉnh thu nhỏ tập liệu lại, coi tập liệu demo áp dụng cho khóa luận Chương trình xây dựng tảng Android, tảng di động phát triển mạnh Ngồi nhóm sử dụng thư viện OpenCv cho việc xử lý ảnh thư viện miễn phí mạnh mẽ hồn chỉnh Hình 1.3 – Những tảng sử dụng khóa luận GVHD: ThS Phan Nguyệt Minh SVTH: Nguyễn Bá Chung Đỗ Trường Giang | Trang CHƯƠNG : NỀN TẢNG VÀ CÔNG NGHỆ 2.1 Android Android tên gọi hệ điều hành mã nguồn mở dựa nhân linux, ban đầu Google xây dựng dành cho thiết bị di động vươn TV, HD Player, Tablet…) Khởi đầu, Android phát triển công ty tên, sau Google mua lại nhằm cạnh tranh với RIM sau Apple Hiện tại, tảng có mức tăng trưởng nhanh hệ điều hành có thị phần lớn Với chất hệ điều hành mã nguồn mở, Android hồn tồn thích hợp cho mục đích nghiên cứu, học tập sinh viên nhân lực công nghệ thông tin Đó lý Android chọn để hoàn thành đồ án 2.1.1 Sự phát triển Android Lịch sử phát triển hệ điều hành tóm tắt sau: GVHD: ThS Phan Nguyệt Minh SVTH: Nguyễn Bá Chung Đỗ Trường Giang | Trang GVHD: ThS Phan Nguyệt Minh SVTH: Nguyễn Bá Chung Đỗ Trường Giang | Trang 2.1.2 Những đặc điểm khác biệt Android Android phát triển theo hướng mở hết mức có thể, người dùng hay nhà phát triển có tồn quyền thay đổi giao diện, thành phần hệ thống hay chí mã nguồn hệ điều hành tùy thích Điều khiến cho hệ điều hành trở nên dễ tùy biến kèm theo khó làm quen người chưa có kinh nghiệm Tuy vậy, thành cơng thị trường phần khẳng định chất lượng so với đối thủ Hình 2.1.1 – Với Android, người dùng thay đổi giao diện… Hình 2.1.2 - … bàn phím tiếng Việt Android 2.1.3 Máy ảo Dalvik GVHD: ThS Phan Nguyệt Minh SVTH: Nguyễn Bá Chung Đỗ Trường Giang | Trang Trên Android, nhà phát triển phần mềm lựa chọn ngơn ngữ C/C++ Java để viết ứng dụng Đối với ứng dụng viết Java, Android thực thi chúng thông qua máy ảo – tương tự JVM máy bàn – gọi Dalvik Dalvik phần mềm mã nguồn mở thiết kế viết Dan Bornstein dựa JVM cải tiến để hoạt động hiệu thiết bị Android Điểm khác biệt Dalvik so với JVM (hoạt động dựa ghi – stack), việc Dalvik dựa theo kiến trúc register Mặc dù dùng chung ngôn ngữ Java, file class dịch sang định dạng dex nhằm làm giảm tối đa dung lượng chương trình Các hay chuỗi trùng tinh giảm file dex Các bytecode Java chuyển thành thị Dalvik Điều đem đến khác biệt dung lượng cho file dex so với trước chuyển đổi Ngồi ra, máy ảo Dalvik cịn tối ưu hóa nhiều để có khả chạy lúc nhiều ‘instance’ mà không tốn nhiều nhớ lực xử lý Trong phiên Android, Dalvik liên tục cải tiến để đem đến khả hoạt động hiệu cho ứng dụng Android 2.1.4 Kiến trúc Android Mơ hình sau thể cách tổng quát thành phần hệ điều hành Android Mỗi phần đặc tả cách chi tiết Hình 2.1.3 – Kiến trúc Android GVHD: ThS Phan Nguyệt Minh SVTH: Nguyễn Bá Chung Đỗ Trường Giang | Trang a Applications (Tầng ứng dụng) Đây tầng cao Android, bao gồm ứng dụng chạy máy ảo Dalvik Chủ yếu chương trình tầng viết ngơn ngữ Java, số kèm theo native code (C/C++) có yêu cầu đặc biệt tốc độ xử lý hay khả can thiệp trực tiếp phần cứng b Application Framework Bằng cách cung cấp tảng phát triển mở, Android cung cấp cho nhà phát triển khả xây dựng ứng dụng phong phú sáng tạo Nhà phát triển tự tận dụng thiết bị phần cứng, thông tin địa điểm truy cập, dịch vụ chạy nền, thiết lập hệ thống báo động, thêm thông báo để trạng thái, nhiều, nhiều Để tăng khả re-use thông tin cần thiết, khả trao đổi liệu thành phần ứng dụng, Android đề khái niệm Framework, bao gồm tất tài nguyên cần thiết cho việc trình bày giao diện, API riêng nhà sản xuất, cách quản lý phần cứng Android… Nhà phát triển truy cập vào API khuôn khổ sử dụng ứng dụng lõi Các kiến trúc ứng dụng thiết kế để đơn giản hóa việc sử dụng lại thành phần; ứng dụng xuất khả ứng dụng khác sau sử dụng khả (có thể hạn chế bảo mật thực thi khuôn khổ) Cơ chế cho phép thành phần tương tự thay người sử dụng Cơ tất ứng dụng dịch vụ hệ thống, bao gồm: • Một tập hợp nhiều View có khả kế thừa lẫn dùng để thiết kế phần giao diện ứng dụng như: gridview, tableview, linearlayout,… • Một “Content Provider” cho phép ứng dụng truy xuất liệu từ ứng dụng khác (chẳng hạn Contacts) chia sẻ liệu ứng dụng • Một “Resource Manager” cung cấp truy xuất tới tài nguyên mã nguồn, chẳng hạn như: localized strings, graphics, and layout files • Một “Notification Manager” cho phép tất ứng dụng hiển thị custom alerts status bar  Activity Manager dùng để quản lý chu trình sống ứng dụng điều hướng activity c Library (Thư viện) Android bao gồm tập hợp thư viên C/C++ sử dụng nhiều thành phần khác hệ thống Android Điều thể thông qua tảng ứng dụng Android Một số thư viện liệt kê đây: • System C library: a BSD-derived triển khai thư viện hệ thống ngôn ngữ C chuẩn, nhúng vào thiết bị dựa hệ điều hành Linux GVHD: ThS Phan Nguyệt Minh SVTH: Nguyễn Bá Chung Đỗ Trường Giang | Trang • Media Libraries – Dựa PacketVideo's OpenCORE; thư viện hỗ trợ cho việc chơi nhạc, quay phim, chụp hình theo định dạng file MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG • Surface Manager – Quản lý truy cập đến hệ thống hiển thị lớp đồ họa 2D, 3D từ tầng ứng dụng • LibWebCore – Thư viện dùng để tạo nên thành phần webview Android nhúng vào nhiều ứng dụng • SGL – Thư viện hỗ trợ đồ hoạ 2D • 3D libraries – Thư viện đồ họa 3D (chủ yếu OpenGL ES • FreeType – thư viện render font chữ • SQLite – Một sở liệu nhỏ dùng cho thiết bị cầm tay có nhớ hạn chế SQLite khơng có “quan hệ” sở liệu khác d Android Runtime (Môi trường thực thi) Android bao gồm tập hợp thư viện mà cung cấp hầu hết chức có sẵn thư viện lõi ngơn ngữ lập trình Java Tất ứng dụng Android chạy tiến trình riêng Máy ảo Dalvik viết thiết bị chạy nhiều máy ảo hiệu Các VM Dalvik thực thi tập tin thực thi Dalvik (dex) Định dạng tối ưu hóa cho nhớ tối thiểu VM dựa register-based, chạy lớp biên dịch trình biên dịch Java để chuyển đổi thành định dạng dex Các VM Dalvik dựa vào nhân Linux cho chức luồng quản lý nhớ cấp thấp e Linux Kernel Đây tảng hệ điều hành Android, đảm nhiệm vai trò giao tiếp phần cứng, điều khiển chức thiết bị cung cấp tính thiết yếu quản lý nhớ, quản lý luồng, kết nối mạng… hàng loạt driver nhà sản xuất viết cho thiết bị họ 2.1.5 Các thành phần dự án Ứng dụng Android a AndroidManifest.xml Trong dự án Android tạo có file AndroidManifest.xml, file dùng để định nghĩa hình sử dụng, quyền giao diện cho ứng dụng Đồng thời chứa thông tin phiên SDK hình chạy File tự động sinh tạo dự án Android Trong file manifest có thành phần là: application, permission version GVHD: ThS Phan Nguyệt Minh SVTH: Nguyễn Bá Chung Đỗ Trường Giang 10 | T r a n g Dưới nội dung file AndroidManifest.xml  Application Thẻ , bên thẻ chứa thuộc tính định nghĩa cho ứng dụng Android như:  android:icon = “drawable resource”  Ở đặt đường dẫn đến file icon ứng dụng cài đặt VD: android:icon = “@drawable/icon”  android:name = “string”  thuộc tính để đặt tên cho ứng dụng Android Tên hiển thị lên hình sau cài đặt ứng dụng  android:theme = “drawable theme”  thuộc tính để đặt theme cho ứng dụng Các theme cách để hiển thị giao diện ứng dụng Ngồi cịn nhiều thuộc tính khác…  Permission Bao gồm thuộc tính định quyền truy xuất sử dụng tài nguyên ứng dụng Khi cần sử dụng loại tài ngun file manifest ứng dụng cần phải khai báo quyền truy xuất sau: GVHD: ThS Phan Nguyệt Minh SVTH: Nguyễn Bá Chung Đỗ Trường Giang 11 | T r a n g SDK version Thẻ xác định phiên SDK khai báo để phiên SDK thấp sử dụng, sau: b Activity Activity xem window môi trường Windows phổ biến Tại thời điểm có Activity ghi nhận thao tác hình cảm ứng từ người dùng, activity khác đặt vào trạng thái chờ bị xóa khỏi nhớ Khi người dùng kết thúc phiên làm việc với Activity nào, activity xếp hàng phía sau đẩy lên đầu trở thành Running Activity Cấu trúc gọi Activity Stack Hình 2.1.4 – Activity Stack Một Activity chủ yếu có chu kỳ sau: Active running: Khi Activity chạy hình Activity tập trung vào thao tác người dùng ứng dụng Paused: Activity tạm dừng (paused) tiêu điểm (focus) người dùng trông thấy Có nghĩa Activity khơng bao phủ đầy hình Một Activity tạm dừng cịn sống bị kết thúc hệ thống trường hợp thiếu vùng nhớ GVHD: ThS Phan Nguyệt Minh SVTH: Nguyễn Bá Chung Đỗ Trường Giang 12 | T r a n g Stopped: Nếu hồn tồn bao phủ Activity khác Nó cịn trạng thái thơng tin thành viên Người dùng khơng thấy thường bị loại bỏ trường hợp hệ thống cần vùng nhớ cho tác vụ khác chu kỳ Activity thể rõ biểu đồ hình sau: Hình 2.1.5 – Vòng đời Activity 2.2 Computer Vision Computer Vision (hay CV) phương thức hay phương cách dùng để chuyển hóa liệu hình ảnh dạng tĩnh hay đoạn video từ camera thành dạng “nhận thức” hay “đặc tả” – ‘xe máy’, ‘có xe máy chạy’, ‘mặt trời lên’… Việc nhận thức dễ dàng với người, thực chất lại không đơn giản giới số Bởi, thực chất, xử lý hình ảnh, não người thực hàng loạt cơng đoạn phân tích, xử lý, tái tạo, liên kết… luồng thông tin khác để đến kết luận cuối vật Các công đoạn thực hoàn toàn nhờ vào quan đặc thù vỏ não, không cần can thiệp người Nhưng, máy tính, tất quan không tồn tại, tất máy tính nhận biết xử lý tín hiệu số Các hình ảnh chuyển định dạng số ma trận số, khơng có biên giới rõ ràng, khơng có tri thức hình ảnh q khứ, khơng có khả liên hệ hay làm rõ nét chi tiết ảnh…, lập trình viên phải thực tất việc tay Thêm vào đó, liệu hình ảnh máy tính nhận liệu bị nhiễu ảnh hưởng nhiều từ thay đổi nhỏ thay đổi GVHD: ThS Phan Nguyệt Minh SVTH: Nguyễn Bá Chung Đỗ Trường Giang 13 | T r a n g độ sáng, thay đổi phông nền, hay thay đổi góc nhìn vật Chính điều khiến cho việc nhận dạng hình ảnh máy tính trở nên khó khăn Hình 2.2.1 – Dữ liệu hình ảnh máy tính Tuy khơng dễ dàng, nhờ có bề dày lịch sử kế thừa, Computer Vision đạt số bước tiến định với số thư viện xử lý hình ảnh tại, cịn xa so với mục tiêu cuối Tuy vậy, tương lai CV tươi sáng Các thư viện xử lý hình ảnh tiêu biểu Nhằm mục đích giảm nhẹ gánh nặng cho lập trình viên tác vụ xử lý hình ảnh, thư viện Computer Vision đời Nhờ thư viện này, lập trình viên tránh việc phải viết lại từ hàm nhất, mà cần tập trung vào việc sử dụng chúng cho hiệu cho mục đích Một số thư viện xử lý hình ảnh kể đến như: a VXL (http://vxl.sourceforge.net/) Đây thư viện xử lý hình ảnh mức bản, chuyên thao tác chỉnh sửa hình ảnh đổi màu sắc, thay đổi kích thước ảnh… VXL xây dựng tảng ngôn ngữ ANSI/ISO C++ nhằm tăng khả tương thích tốc độ hoạt động tác vụ xử lý ảnh Hiện VXL xuất Linux, Windows Mac OS chưa xuất tảng di động b Camellia (http://camellia.sourceforge.net/) GVHD: ThS Phan Nguyệt Minh SVTH: Nguyễn Bá Chung Đỗ Trường Giang 14 | T r a n g Bộ thư viện viết hồn tồn ngơn ngữ C tối ưu hóa nhiều nhằm đem đến tốc độ hoạt động thời gian thực Camellia xuất Linux, Windows, Mac OS chủ yếu hỗ trợ cho ngôn ngữ Ruby chưa có kế hoạch xuất tảng di động c OpenVIDIA (http://openvidia.sourceforge.net/index.php/OpenVIDIA) OpenVIDIA thư viện xử lý hình ảnh nVidia khởi xướng nhắm mục đích tận dụng sức mạnh xử lý vốn dư dả từ GPU (mạnh xử lý song song) Bộ thư viện tận dụng nhiều công nghệ nVidia CUDA, NPP hỗ trợ thư viện mã nguồn mở OpenGL, OpenCL… Nhờ tận dụng khả xử lý mạnh mẽ GPU (vốn mạnh nhiều so với CPU), thư viện cho tốc độ xử lý nhanh nhiều so với giải pháp Bộ thư viện hỗ trợ đầy đủ giải pháp nhận dạng hình ảnh, xử lý hình ảnh thời gian thực… OpenVIDIA có giải pháp phần mềm xuất tảng Tegra di động, nhóm khơng chọn thư viện khơng thể phổ biến rộng rãi lên tảng không sử dụng GPU nVidia d NCV – Nokia Computer Vision (http://research.nokia.com/page/221) Bộ thư viện xử lý hình ảnh Nokia xây dựng dành riêng cho hệ điều hành Symbian mình, cung cấp khả xử lý hình ảnh thay đổi kích thước, thay đổi khung hình, dựng hình, dựng giao diện người dùng… lại thiếu hàm mang tính cần thiết cho mục tiêu đề tài – nhận dạng hình ảnh Bộ thư viện không hỗ trợ tảng khác Android, iOS Nhóm tham khảo qua nhiều thư viện xử lý ảnh khác nhau, hầu hết bị giới hạn khả hoạt động tảng di động - Android Trong q trình tìm tịi, nhóm phát OpenCV thư viện hỗ trợ đầy đủ cho Android, đồng thời có sức mạnh xử lý không thua thư viện nêu Nên, phạm vi đồ án lần này, nhóm chọn thực dựa OpenCV GVHD: ThS Phan Nguyệt Minh SVTH: Nguyễn Bá Chung Đỗ Trường Giang 15 | T r a n g Hình 2.2.2 – Tốc độ xử lý OpenCV so với LTI VXL 2.3 OpenCV – Thư viện xử lý hình ảnh mã nguồn mở OpenCV thư viện xử lý hình ảnh mã nguồn mở host http://SourceForge.net/projects/opencvlibrary Bộ thư viện viết ngơn ngữ C/C++ nhờ có khả hoạt động gần tảng Linux, Windows MacOS Ngoài ra, nhờ ủng hộ nhiệt tình cộng đồng mã nguồn mở, OpenCV cịn có khả hoạt động tảng khác Java, nhúng, đặc biệt Android OpenCV ban đầu thiết kế cho thiết bị điện toán với sức mạnh lớn, tối ưu hóa ngơn ngữ C khả tận dụng vi xử lý đa luồng – đa nhân nhằm thực hóa ứng dụng xử lý hình ảnh thời gian thực Do đó, chuyển lên tảng di động, thư viện bị thuyên giảm nhiều sức mạnh so với phiên gốc, thư viện tốt cho giới mobile 2.3.1 Lịch sử OpenCV OpenCV có khởi đầu khiêm nhường Media Lab MIT, thư viện chuyền tay sinh viên, đóng vai trị tảng ban đầu cho ứng dụng xử lý hình ảnh họ, để họ khơng thời gian viết lại hàm mang tính mà dành nhiều thời gian để tập trung vào chức cao cấp Bộ thư viện phận nghiên cứu Intel ý đầu tư phát triển Tính từ thử nghiệm Alpha OpenCV xuất năm 1999, đến thư viện có 500 hàm chức bao trùm toàn lĩnh vực GVHD: ThS Phan Nguyệt Minh SVTH: Nguyễn Bá Chung Đỗ Trường Giang 16 | T r a n g xử lý hình ảnh theo dõi sản phẩm cơng nghiệp, hình ảnh y tế, camera an ninh, giao diện người dùng, tinh chỉnh camera, robotic… Ngoài ra, OpenCV kèm theo thư viện Machine Learning (MLL) nhằm tăng cường khả học nhận dạng hình ảnh xác Hình 2.2.1 – Lịch sử phát triển OpenCV Do chất thư viện mã nguồn mở, giấy phép OpenCV lại cho phép người dùng sử dụng phần hay tồn mã nguồn cho ứng dụng có thu phí họ mà khơng phải đóng góp lại cho cộng đồng, kể việc cơng bố mã nguồn họ Chính nhờ điều nên OpenCV nhận nhiều quan tâm công ty phần mềm lớn IBM, Intel, Microsoft,… lượng thành viên project lên đến 20,000 người khắp châu lục 2.3.2 Cấu trúc OpenCV OpenCV thư viện lớn, cấu trúc thành phần chính, có phần phân chia hình 2.3.1 Trong đó, CV chứa hàm xử lý hình ảnh thuật tốn nhận dạng cấp cao; MLL thư viện phục vụ cho ngành máy học HighGUI chứa lệnh nhập xuất hàm để truy xuát hình ảnh, video; CXCore chứa cấu trúc bản, hàm vẽ hàm dùng chung cho tồn thư viện Trong hình 2.3.1 khơng bao gồm CvAux, thành phần chứa thuật tốn giai đoạn thử nghiệm hàm bị ngừng phát triển Trong CvAux, người dùng tìm thấy nhiều hàm có khả xuất thức OpenCV tương lai Có thể kể đến như: - Nhận dạng cử từ camera - Đặc tả texture (vân bề mặt) - Theo dõi mắt miệng - Theo dõi 3D - Tìm khung xương vật thể GVHD: ThS Phan Nguyệt Minh SVTH: Nguyễn Bá Chung Đỗ Trường Giang 17 | T r a n g Hình 2.3.1 – Cấu trúc thư viện OpenCV 2.3.3 OpenCV Android Hiện tại, OpenCV cung cấp sẵn wrapper dành cho hệ điều hành Android trang chủ (http://opencv.willowgarage.com/wiki/Android) cho người dùng chọn lựa việc sử dụng thư viện biên dịch sẵn hay dùng trực tiếp mã nguồn OpenCV Nếu khơng có u cầu đặc biệt tính hay tối ưu thêm hàm OpenCV, lựa chọn dễ dàng cho đại đa số người dùng Sau tải cài đặt OpenCV lên mơi trường lập trình cho Android, người dùng sử dụng tính đặc biệt thư viện cách nhanh chóng GVHD: ThS Phan Nguyệt Minh SVTH: Nguyễn Bá Chung Đỗ Trường Giang

Ngày đăng: 14/12/2021, 19:34

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w