Chương 3: Xây dựng hệ thống nhận diện tội phạm

Một phần của tài liệu Xây dựng hệ thống nhận diện tội phạm. (Trang 44 - 100)

Phân tích yêu cầu, đặc tả chức năng của hệ thống

Phần mềm này được áp dụng cho các cơ quan an ninh để nhận diện tội phạm và quản lý thông tin của các người dân trong một nước nên trước hết nó phải mang tính bảo mật cao và đáp ứng được các yêu cầu sau:

• Có khả năng dò tìm khuôn mặt của một người trong một tấm hình bất kỳ. • Nhận diện khuôn mặt vừa tìm được và liệt kê những khuôn mặt trong cơ sở dữ

liệu mà gần giống với nó nhất và bạn có thể xem thông tin của những khuôn mặt gần giống đó để tìm ra thông tin cần thiết.

• Đối với người có quyền cao nhất trong hệ thống sẽ có thể thao tác với cơ sở dữ liệu:

• Tìm kiếm thông tin của một người. • Thêm một người mới vào cở sở dữ liệu. • Sửa thông tin của một người.

• Xóa thông tin của người nào đó.

• Kết nối được với điện thoại để nhận ảnh cần nhận diện và gửi trả thông tin của người trong tấm ảnh đó về điện thoại. Như vậy sẽ làm cho việc nhận diện trở nên linh hoạt hơn, tiện lợi hơn.

Yêu cầu về phần cứng

• Hệ điều hành: Chạy trên Fedora 15 (32-bit). • RAM: 516MB hoặc hơn.

• Đồ họa: Intel® G33.

• Độ phân giải: 1024x768 pixels. • Yêu cầu về phần mềm

• Ngôn ngữ lập trình: Java. • Cơ sở dữ liệu: DB2.

• Các thư viện sử dụng: OpenCV, JavaCV.

Đặc tả chức năng phần mềm

Hình 3.1.Sơ đồ Use case tổng quát

Phần mềm này bao gồm 2 tác nhân đó là user và admin.User có tên đăng nhập và mật khẩu sẽ được đăng nhập vào hệ thống. Sau đó họ có thể nhận diện khuôn mặt từ đó có thể xem các khuôn mặt gần giống nhất với khuôn mặt được đưa vào nhận diện và thông tin về các khuôn mặt đó như: tên, ngày sinh, địa chỉ, giới tính, nơi cư trú… Admin là người có quyền cao nhất trong phần mềm này. Người đó vừa có thể thực hiện các chức năng trên, vừa có thể quản lý cơ sở dữ liệu như: thêm một người mới, sửa, xóa thông tin hoặc tìm kiếm thông tin.

Đặc tả Use case:

UC001 - Use case Login

• Tên: Login.

• Tác nhân: User và admin.

• Điều kiện tiên quyết: User phải có tên đăng nhập và mật khẩu trước khi đăng nhập vào phần mềm, nếu đăng nhập không thành công thì nó sẽ báo lỗi.

• Điều kiện kéo theo: Sau khi đăng nhập thành công, giao diện chính của phần mềm sẽ xuất hiện.

• Mô tả: Use case Login chấp nhận user và admin đăng nhập vào phần mềm.

UC002 - Use case Recognize face

• Tên: Recognize face. • Tác nhân: User và admin.

• Điều kiện tiên quyết: User đăng nhập vào phần mềm. User tải tấm hình có người cần nhận diện lên.

• Điều kiện kéo theo: Bạn sẽ xem được những khuôn mặt gần giống nhất với khuôn mặt trong tấm hình và thông tin của những khuôn mặt đó.

• Mô tả: User đăng nhập vào phần mềm, tải ảnh lên rồi bắt đầu cho nhận diện.

Các luồng chính:

• Tải tấm hình lên.

• Dò tìm khuôn mặt trong tấm hình. • Nhận diện khuôn mặt đó.

• Liệt kê những khuôn mặt gần giống với khuôn mặt được đưa vào nhận diện nhất.

UC003 - Use case Search information

• Tên: Search information. • Tác nhân: Admin.

• Điều kiện tiên quyết: Đăng nhập vào phần mềm với quyền của một admin. • Điều kiện kéo theo: Tìm kiếm thông tin của một người theo tên hoặc id. • Mô tả: Admin muốn xem thông tin về một người nào đó.

Các luồng chính:

• Đăng nhập vào phần mềm.

• Điền tên hoặc id của người cần tìm kiếm. • Kích vào nút “Search”.

UC004 - Use case Add information

• Tên: Add information. • Tác nhân: Admin.

• Điều kiện tiên quyết: Đăng nhập vào phần mềm với quyền của một admin. Admin cần phải có các thông tin chính xác của người cần thêm vào cơ sở dữ liệu.

• Điều kiện kéo theo: Thông tin sẽ được thêm vào cơ sở dữ liệu.

• Mô tả: Admin muốn thêm thông tin về một người vào trong cơ sở dữ liệu.

Các luồng chính:

• Đăng nhập vào phần mềm.

• Kích vào nút “Add” để thêm thông tin.

UC005 - Use case Update information:

• Tên: Update information. • Tác nhân: Admin.

• Điều kiện tiên quyết: Đăng nhập vào phần mềm với quyền của một admin. Admin cần phải có thông tin cần cập nhật.

• Điều kiện kéo theo: Thông tin sẽ được cập nhật vào cơ sở dữ liệu. • Mô tả: Admin muốn cập nhật thông tin của một người.

Các luồng chính:

• Đăng nhập vào phần mềm.

• Tìm kiếm thông tin của người cần cập nhật lại. • Kích vào nút “Update” để cập nhật thông tin.

UC006 - Use case Delete information:

• Tên: Delete information. • Tác nhân: Admin.

• Điều kiện tiên quyết: Đăng nhập vào phần mềm với quyền của một admin. • Điều kiện kéo theo: Thông tin sẽ bị xóa khỏi cơ sở dữ liệu.

• Mô tả: Admin muốn xóa thông tin của một người nào đó.

Các luồng chính:

• Đăng nhập vào phần mềm. • Tìm kiếm người muốn xóa.

• Kích vào nút “Delete” để xóa thông tin.

Hình 3.2.Sơ đồ chức năng của hệ thống

Hệ thống nhận diện tội phạm bao gồm 3 chức năng chính đó là: quản lý việc nhận dạng, quản lý dữ liệu nhận dạng và quản lý nhân sự. Quản lý việc nhận dạng gồm 2 chức năng chính: phát hiện khuôn mặt và nhận diện khuôn mặt. Trong nhận diện khuôn mặt có nhận diện tại chỗ và nhận diện từ xa. Quản lý dữ liệu nhận dạng bao gồm: thêm thông tin nhận dạng, cập nhật thông tin nhận dạng và xóa thông tin nhận dạng. Quản lý nhân sự bao gồm: thêm nhân viên, cập nhật nhân viên và xóa nhân viên.

Sơ đồ khối diễn tả nhận dạng của hệ thống

Sơ đồ khối diễn tả đăng nhập vào hệ thống

Sơ đồ khối diễn tả thêm một người mới vào hệ thống

Hình 3.5. Sơ đồ khối diễn tả thêm một người mới vào hệ thống

Sơ đồ khối diễn tả tìm kiếm thông tin người trong hệ thống

Hình 3.6: Sơ đồ khối diễn tả tìm kiếm thông tin người trong hệ thống

Hình 3.7.Sơ đồ khối diễn tả chỉnh sữa thông tin người trong hệ thống

Hình 3.8.Sơ đồ khối diễn tả xóa một người khỏi hệ thống

Hình 3.9. Sơ đồ khối diễn tả thêm một nhân viên mới vào hệ thống

Hình 3.10.Sơ đồ khối diễn tả tìm kiếm thông tin nhân viên trong hệ thống

Hình 3.11.Sơ đồ khối diễn tả chỉnh sữa thông tin nhân viên trong hệ thống

Hình 3.12.Sơ đồ khối diễn tả xóa một nhân viên khỏi hệ thống

Sơ đồ kiến trúc hệ thống

Sơ đồ 3 lớp

Hình 3.13.Sơ đồ mô hình 3 lớp

Mô tả sơ đồ

• Tầng trình diễn (GUI): Nhập liệu và trình bày dữ liệu, ở đây có thể bao gồm các bước kiểm tra dữ liệu trước khi gọi tầng nghiệp vụ.

• Tầng nghiệp vụ (Bussiness Logic): Kiểm tra các yêu cầu nghiệp vụ trước khi cập nhật dữ liệu.

• Tầng truy cập cơ sở dữ liệu (Data Access): Kết nối cơ sở dữ liệu, tìm kiếm, thêm, xóa, sửa trên cơ sở dữ liệu.

Ưu điểm mô hình 3 lớp

• Giảm sự kết dính giữa các thực thể của phần mềm. • Có khả năng tái sử dụng code cho các nền tảng khác. • Dễ dàng nâng cấp và bảo trì chương trình.

• Dễ dàng hơn trong việc phân rã để xây dựng chương trình. • Nhược điểm mô hình 3 lớp

• Với những hệ thống nhỏ việc áp dụng mô hình này sẽ mất nhìu thời gian hơn.

• Việc áp dụng mô hình này đòi hỏi lập trình viên có kinh nghiệm sử dụng mô hình này.

Lược đồ quan hệ giữa các bảng trong cơ sở dữ liệu

Hình 3.14. Lược đồ quan hệ giữa các bảng trong cơ sở dữ liệu

Phân tích dữ liệu từng bảng

Tên trường Mô tả Kiểu dữ liệu Null hay không Khóa

DISTRICTID ID của quận VARCHAR(5) Không null Primary Key NAMED Tên của quận VARCHAR(20) Không null

PROVINCEID ID của tỉnh VARCHAR(5) Không null Foreign Key

Bảng 3.1. District

Province

Tên trường Mô tả Kiểu dữ liệu Null hay không Khóa

PROVINCEID ID của tỉnh VARCHAR(5) Không null Primary Key NAMEP Tên của tỉnh VARCHAR(20) Không null

Bảng 3.2. Province

Ward

Tên trường Mô tả Kiểu dữ liệu Null hay không Khóa

WARDID ID của tổ VARCHAR(5) Không null Primary Key NAMEW Tên của tổ VARCHAR(20) Không null

DISTRICTID ID của quận VARCHAR(5) Không null Foreign Key

Bảng 3.3. Ward

Population_Groups

Tên trường Mô tả Kiểu dữ liệu Null hay không Khóa

PGROUPSID ID của nhóm người

VARCHAR(5) Không null Primary Key

NAMEG Tên của

nhóm người

VARCHAR(20) Không null

WARDID ID của tổ VARCHAR(5) Không null Foreign Key

Person

Tên trường Mô tả Kiểu dữ liệu Null hay

không

Khóa

PID ID của

người

VARCHAR(12) Không null Primary Key IDENTITY_NUMBER Số CMND VARCHAR(9) Không null

FULLNAME Họ tên VARCHAR(50) Không null

DOB Ngày sinh DATE Không null

HOMETOWN Quê quán VARCHAR(5) Không null Foreign

Key PERMANENT_RESIDENCE Nơi cư trú VARCHAR(5) Không null Foreign

Key

IMAGE Ảnh BLOB(307200) Không null

ETHNIC Dân tộc VARCHAR(15) Không null

RELIGION Tôn giáo VARCHAR(15) Không null

CHARACTERISTIC Đặc điểm của 1 người

VARCHAR(100) Không null

DATE Ngày được

nhập vào CSDL.

DATE Không null

Bảng 3.5. Person

Employee

Tên trường Mô tả Kiểu dữ liệu Null hay không Khóa

Foreign Key

DATE Ngày bắt đầu

làm việc

DATE Không null

USERNAME Tên đăng nhập

VARCHAR(15) Không null

PASSWORD Mật khẩu VARCHAR(20) Không null ROLEID ID quyền sử

dụng

SMALLINT(2) Không null Foreign Key

Bảng 3.6. Employee

Role

Tên trường Mô tả Kiểu dữ liệu Null hay không Khóa

ROLEID ID quyền sử dụng

SMALLINT(2) Không null Primary Key ROLENAME Tên quyền

sử dụng

VARCHAR(10) Không null

Bảng 3.7. Role

Phân tích và thiết kế giao diện

Danh sách giao diện

STT Mã giao diện Tên giao diện Mô tả Người sử dụng

01 I01 Giao diện chính Khi người sử dụng đăng nhập thành công thì hệ thống sẽ hiển thị giao diện này.

02 I02 Giao diện dò tìm khuôn mặt

Giao diện này giúp người sử dụng thực hiện chức năng dò tìm khuôn mặt của phần mềm. Nhân viên

03 I03 Giao diện nhận

dạng khuôn mặt

Giao diện này giúp người sử dụng thực hiện chức năng nhận dạng khuôn mặt của phần mềm. Nhân viên

04 I04 Giao diện đăng

nhập

Giao diện này giúp người sử dụng thực hiện chức năng đăng nhập vào hệ thống. Nhân viên

05 I05 Giao diện thay đổi mật khẩu

Giao diện này giúp người sử dụng thay đổi mật khẩu của mình.

Nhân viên

06 I06 Giao diện tìm

kiếm thông tin

Giao diện này giúp người sử dụng tìm kiếm thông tin.

07 I07 Giao diện quản lý máy chủ

Giao diện này dùng để quản lý kết nối giữa máy khách (Android) và máy chủ(PC).

Người quản lý

08 I08 Giao diện thêm

thông tin người

Giao diện này dùng để thêm một người vào cơ sở dữ liệu

Người quản lý

09 A01 Giao diện duyệt ảnh từ thẻ nhớ điện thoại

Giao diện này hiển thị ảnh từ thẻ nhớ điện thoại để người dùng có thể chọn ảnh cần nhận dạng Người quản lý &Nhân viên

10 A02 Giao diện gởi ảnh đến server nhận dạng

Giao diện này cho người dùng xác nhận lại ảnh cần gởi và sau đó gởi ảnh đến server để nhận dạng

Người quản lý & Nhân viên

11 A03 Giao diện hiển thị thông tin nhận dạng từ server.

Giao diện này cho người xem thông tin của tấm ảnh được nhận diện do server cung

Người quản lý & Nhân viên

cấp.

Bảng 3.8. Danh sách giao diện

Giao diện chính

Hình 3.15. Giao diện chính

No. Tên trường Loại Mục đích

01 File Menu Khi bấm chuột vào menu

sẽ hiện thị: • Logout

• Exit

02 View Menu Khi nhấn chuột vào

View menu sẽ hiện thị: • Face Detection

• Face Recognition

03 Tool Menu Khi nhấn chuột vào Tool

menu sẽ hiện thị: • Add new person • Edit person • Change password • Server management • Search information • Administrator

04 Help Menu Khi nhấn chuột vào Help

menu sẽ hiển thị: • Overview • Tutorial • Help • About Bảng 3.9. Giao diện chính

Hình 3.16. Giao diện do tìm khuôn mặt

Giao diện dò tìm khuôn mặt Mã: I

No. Tên trường Loại Mục đích

01 Thumbnails List Hiển thị danh sách các

hình ảnh được tải lên tử folder

02 Face annotation List Hiện thị khuôn mặt sau khi tự động nhận dạng hay nhận dạng bằng tay

03 Open Folder Button Khi người sử dụng bấm

chuột vào “Open Folder” sẽ hiện thị hộp cho folder hình ảnh

04 X Button Khi người sử dụng bấm chuột vào “X” button, cửa sổ dò tìm khuôn mặt sẽ mất đi.

Hình 3.17. Giao diện nhận diện khuôn mặt

Giao diện nhận dạng khuôn mặt Mã: I

No. Tên trường Loại Mục đích

01 Face List List Hiện thị danh sách khuôn

mặt đang chờ để nhận dạng.

02 Faces Nearest List Hiển thị danh sách các khuôn mặt mà có chi tiết gần giống nhất với khuôn mặt đang nhận dạng. 03 Click me to import

an image

Label Nhấn vào để đưa hình ảnh vào.

Textbox

05 Full Name Label

Textbox

Hiển thị tên đầy đủ.

06 Birthday Label

Textbox

Hiển thị ngày sinh.

07 Hometown Label

Text

Hiển thị quê quán.

08 Place of residence Label Textbox

Hiển thị nơi thường trú

09 People Label

Textbox

Hiển thị dân tộc.

10 Religious Label

Textbox

Hiển thị tôn giáo.

11 Export to PDF Button Nhấn vào để xuất thông tin sau khi nhận dạng sang PDF.

Bảng 3.10. Giao diện dò tìm khuôn mặt

Hình 3.18. Giao diện đăng nhập

Giao diện đăng nhập Mã: I

No. Tên trường Loại Mục đích

01 User name Label

Text box

• Nhập tên tài khoản.

02 Password Label

Text box

• Nhập mật khẩu

03 Login Button - Kiểm tra tên đăng nhập

và mật khẩu có được phép đăng nhập hay không?

- Kiểm tra tên đăng nhập và mật khẩu có rỗng hay không?

- Kiểm tra tên đăng nhập và mật khẩu có tồn tại trong cơ sở dữ liệu hay không?

- Nếu tồn tại, đăng nhập vào hệ thống, nếu không tồn tại sẽ thông báo lỗi

04 Cancel Button Tên đăng nhập và mật

khẩu sẽ bị xóa khi người sử dụng nhấn chuột vào nút này.

Giao diện thay đổi mật khẩu

Hình 3.19. Giao diện đổi mật khẩu

Giao diện thay đổi mật khẩu Mã: I

No. Tên trường Loại Mục đích

01 Current Password Label Textbox

• Nhập mật khẩu hiện tại

02 New Password Label Textbox • Nhập mật khẩu mới 03 Confirm new Password Label Textbox • Nhập lại mật khẩu mới

textbox before change the password.

Bảng 3.12. Giao diện đổi mật khẩu

Giao diện tìm kiếm thông tin

Hình 3.20. Giao diện tìm kiếm thông tin

No. Tên trường Loại Mục đích

01 Search Type Label Combobox

Loại cần tìm kiếm (tên, mã số). 02 Search Button Textbox Nhấn nút để tìm kiếm thông tin. 03 Personal Information

Table Hiển thị thông tin của

Một phần của tài liệu Xây dựng hệ thống nhận diện tội phạm. (Trang 44 - 100)

Tải bản đầy đủ (PDF)

(102 trang)