1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

ỨNG DỤNG DEEP LEARNING xây DỰNG hệ THỐNG NHẬN DIỆN tư THẾ NGƯỜI

29 95 1

Đ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

Pose Estimation ( đôi khi được dùng với thuật ngữ Skeleton Detection) là một vấn đề khá phổ biến trong lĩnh vực xử lý ảnh khi chúng ta cần xác định vị trí và tư thế của một đối tượng. Mức ý nghĩa ở đây là chúng ta phải rút ra được những đặc điểm chính, những đặc điểm đó là những đặc trưng của đối tượng ( có thể mô tả được đối tượng). Ở trong đề tài này, chúng em muốn đề cập đến bài toán Human Pose Estimation, tức là xác định và chỉ ra được một phần toàn bộ các phần chính của cơ thể con người (vd vai, khuỷu tay, cổ tay, đầu gối v.v). Ở đây chúng em trình bày một cách tiếp cận để phát hiện tư thế 2D của nhiều người trong một hình ảnh. Cách tiếp cận sử dụng một biểu diễn không theo tỷ lệ để tìm hiểu cách liên kết các bộ phận cơ thể với các cá nhân trong hình ảnh. Nhận dạng tư thế 2D của con người vấn đề kết nối các điểm chính hoặc các bộ phận, trong đó phần lớn tập trung vào việc tìm kiếm các bộ phận cơ thể của các cá nhân. Từ đó, ta suy ra dạng tư thế của nhiều người trong các hình ảnh. Trong đề tài này chúng em sử dụng thuật toán nhận tư thế con người, đã được thực hiện bằng cách sử dụng Tensorflow. Nó cũng cung cấp một số biến thể có một số thay đổi về cấu trúc mạng để xử lý thời gian thực trên CPU hoặc các thiết bị nhúng công suất thấp. Ở đây chúng em sẽ sử dụng mô hình được huấn luyện sẵn để chỉ ra các phần chính của cơ thể con người. Trong quá trình thực hiện, xuất hiện nhiều khó khăn. Đầu tiên, mỗi hình ảnh có thể chứa một số lượng người không xác định có thể xảy ra ở bất kỳ vị trí hoặc tỷ lệ nào. Thứ hai, sự tương tác giữa mọi người gây ra sự can thiệp không gian phức tạp, do tiếp xúc, tắc và khớp nối chi, làm cho việc liên kết các bộ phận trở nên khó khăn. Thứ ba, độ phức tạp thời gian chạy có xu hướng tăng theo số lượng người trong ảnh, khiến cho hiệu suất thời gian thực trở thành một thách thức. Tuy gặp một số khó khăn như trên tuy nhiên vẫn thu được kết quả cơ bản của phần nhận diện này sẽ là dạng tư thế của người sử dụng được nhận trực tiếp từ video với thời gian thực soft real time, bao gồm các điểm chính của cơ thể.   MỤC LỤC 1. GIỚI THIỆU 1 1.1 Tổng quan 1 1.2 Nhiệm vụ đề tài 1 1.3 Đối tượng phạm vi đề tài 2 1.4 Phương pháp nghiên cứu 2 1.5 Phân chia công việc nhóm 2 2. LÝ THUYẾT 3 2.1 Tổng quan về nhận diện tư thế 3 2.2 Deep Learning 4 2.3 Mạng Nơron tích chập (CNN) 8 2.4 Áp dụng CNN vào bài toán nhận diện tư thế 12 3 THIẾT KẾ VÀ THỰC HIỆN PHẦN MỀM 13 3.1 Yêu cầu đặt ra 13 3.2 Phân tích định hướng 13 3.3 Lưu đồ giải thuật 14 4 KẾT QUẢ THỰC HIỆN 18 4.1 Dữ liệu thực hiện 18 4.2 Kết quả thực hiện 19 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 22 5.1 Kết luận 22 5.2 Hướng phát triển 22 6 TÀI LIỆU THAM KHẢO 22

ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ -o0o - ĐỒ ÁN TIẾN HÀNH THỰC NGHIỆM ỨNG DỤNG DEEP LEARNING XÂY DỰNG HỆ THỐNG NHẬN DIỆN TƯ THẾ NGƯỜI GVHD: TS TRƯƠNG QUANG VINH SVTH: Đinh Võ Hồng Tuấn – 1513814 Nguyễn Đình Minh Nhật – 1512292 TP HỒ CHÍ MINH, THÁNG NĂM 2019 Lời cảm ơn GVHD: LỜI CẢM ƠN Chúng em xin gửi lời cảm ơn chân thành đến TS Trương Quang Vinh, giảng viên Bộ môn Điện tử - trường ĐH Bách Khoa Hồ Chí Minh người tận tình hướng dẫn, bảo chúng em trong thời gian thực Đồ án Tiến hành thực nghiệm, chúng em nhận nhiều giúp đỡ, đóng góp ý kiến bảo nhiệt tình từ thầy Em xin chân thành cảm ơn thầy cô giáo trường ĐH Bách Khoa Hồ Chí Minh dạy dỗ cho em kiến thức môn đại cương mơn chun ngành, giúp em có sở lý thuyết vững vàng tạo điều kiện giúp đỡ em suốt trình học tập Tp Hồ Chí Minh, ngày 13 tháng năm 2019 Đinh Võ Hồng Tuấn Nguyễn Đình Minh Nhật Tiến hành thực nghiệm Vinh GVHD: TS Trương Quang TÓM TẮT ĐỒ ÁN Pose Estimation ( dùng với thuật ngữ Skeleton Detection) vấn đề phổ biến lĩnh vực xử lý ảnh cần xác định vị trí tư đối tượng Mức ý nghĩa phải rút đặc điểm chính, đặc điểm đặc trưng đối tượng ( mô tả đối tượng) Ở đề tài này, chúng em muốn đề cập đến toán Human Pose Estimation, tức xác định phần/ tồn phần thể người (vd vai, khuỷu tay, cổ tay, đầu gối v.v) Ở chúng em trình bày cách tiếp cận để phát tư 2D nhiều người hình ảnh Cách tiếp cận sử dụng biểu diễn khơng theo tỷ lệ để tìm hiểu cách liên kết phận thể với cá nhân hình ảnh Nhận dạng tư 2D người - vấn đề kết nối điểm phận, phần lớn tập trung vào việc tìm kiếm phận thể cá nhân Từ đó, ta suy dạng tư nhiều người hình ảnh Trong đề tài chúng em sử dụng thuật toán nhận tư người, thực cách sử dụng Tensorflow Nó cung cấp số biến thể có số thay đổi cấu trúc mạng để xử lý thời gian thực CPU thiết bị nhúng công suất thấp Ở chúng em sử dụng mơ hình huấn luyện sẵn để phần thể người Trong q trình thực hiện, xuất nhiều khó khăn Đầu tiên, hình ảnh chứa số lượng người khơng xác định xảy vị trí tỷ lệ Thứ hai, tương tác người gây can thiệp không gian phức tạp, tiếp xúc, tắc khớp nối chi, làm cho việc liên kết phận trở nên khó khăn Thứ ba, độ phức tạp thời gian chạy có xu hướng tăng theo số lượng người ảnh, khiến cho hiệu suất thời gian thực trở thành thách thức Tuy gặp số khó khăn nhiên thu kết phần nhận diện dạng tư người sử dụng nhận trực tiếp từ video với thời gian thực soft real time, bao gồm điểm thể Tiến hành thực nghiệm Vinh GVHD: TS Trương Quang MỤC LỤC GIỚI THIỆU .1 1.1 Tổng quan 1.2 Nhiệm vụ đề tài 1.3 Đối tượng phạm vi đề tài 1.4 Phương pháp nghiên cứu .2 1.5 Phân chia cơng việc nhóm 2 LÝ THUYẾT 2.1 Tổng quan nhận diện tư .3 2.2 Deep Learning 2.3 Mạng Nơ-ron tích chập (CNN) 2.4 Áp dụng CNN vào toán nhận diện tư .12 THIẾT KẾ VÀ THỰC HIỆN PHẦN MỀM 13 3.1 Yêu cầu đặt 13 3.2 Phân tích định hướng 13 3.3 Lưu đồ giải thuật 14 KẾT QUẢ THỰC HIỆN 18 4.1 Dữ liệu thực 18 4.2 Kết thực 19 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 22 5.1 Kết luận 22 5.2 Hướng phát triển .22 TÀI LIỆU THAM KHẢO 22 Tiến hành thực nghiệm Vinh GVHD: TS Trương Quang DANH SÁCH HÌNH MINH HỌA Hình Kế hoạch dự án Hình Team contract .3 Hình So sánh AI, Machine Learning, Deep Learning Hình Cách thức hoạt động Deep learning Hình Ví dụ ứng dụng deep learning Hình CNN có khả trích đặc trưng phân lớp .8 Hình CNN tính tích chập cho ảnh 10 Hình Phương pháp Pooling CNN .11 Hình Gradient Descent 11 Hình 10 15 đặc trưng dáng người 12 Hình 11 Kiến trúc mạng CNN nhánh 13 Hình 12 PAF tương ứng kết nối khủy tay cánh tay phải, màu sắc mã hóa hướng 14 Hình 13 Sơ đồ khối hệ thống 14 Hình 14 Heatmap 15 Hình 15 Part Affinity Fields 15 Hình 16 Điểm cổ kết nối với điểm hông phải 16 Hình 17 Line Integral 16 Hình 18 Tích phân đường tính tốn 16 Hình 19 Assignment Algorithm 17 Hình 20 COCO dataset 19 Hình 21 Khởi chạy chương trình Anaconda Prompt 19 Hình 22 Ảnh khơng có người 19 Hình 23 Trường hợp ảnh người 20 Hình 24 Ảnh nhiều người .20 Hình 25 Nhận diện tương đối xác trường hợp tư khó 21 Tiến hành thực nghiệm Vinh GVHD: TS Trương Quang Hình 26 Chương trình chạy webcam .21 DANH SÁCH BẢNG SỐ LIỆU Bảng Thông số hệ thống Tiến hành thực nghiệm Vinh GVHD: TS Trương Quang GIỚI THIỆU 1.1 Tổng quan Mục tiêu đề tài xây dựng hệ thống cho phép dùng camera ghi lại video dùng giải thuật nhận dạng khung xương người, qua xác định tự người dựa phân lớp định nghĩa sẵn Đồng thời hệ thống nhận dạng dáng với đầu vào ảnh tĩnh video lưu sẵn Kết thu sở thực nghiên cứu dáng người hỗ trợ cho hệ thống như: - Hỗ trợ sinh hoạt: Robot chăm sóc cá nhân nhà, bệnh viện triển khai tương lai Đối với robot này, việc phát ước tính tư người có độ xác cao cần thiết để thực nhiều nhiệm vụ khác nhau, chẳng hạn phát ngã - Nhân vật hoạt hình: Theo truyền thống, việc tạo hình nhân vật hoạt hình q trình thủ cơng Tuy nhiên, tư đồng hóa trực tiếp với diễn viên ngồi đời thực thơng qua hệ thống ước tính tư chuyên biệt Các hệ thống cũ dựa vào điểm đánh dấu quần áo chuyên dụng Những tiến gần ước tính tư chụp chuyển động cho phép ứng dụng thời gian thực không cần đánh dấu - Hệ thống hỗ trợ lái xe thông minh: Tai nạn xe chiếm khoảng 2% số người chết tồn cầu năm Do đó, hệ thống thơng minh theo dõi tư tài xế dùng cho cảnh báo khẩn cấp Đồng thời, thuật toán phát người sử dụng thành công xe tự hành, cho phép xe đưa định thông minh - Ứng dụng y tế: Theo dõi khung xương sử dụng để phát vấn đề tư vẹo cột sống cách phân tích bất thường tư bệnh nhân , vật lý trị liệu nghiên cứu phát triển não nhận thức trẻ nhỏ cách theo dõi chức vận động 1.2 Nhiệm vụ đề tài  Nội dung 1: Nghiên cứu đặc trưng tư người , phân tích tư Tiến hành thực nghiệm Vinh    GVHD: TS Trương Quang Nội dung 2: Sử dụng camera thường ( webcam ) thu video tư đối tượng Nội dung 3: Xây dựng mơ hình mạng neural network ước lượng, xác định vị trí khớp xương khung xương, từ mơ tả lại khung xương đối tượng Nội dung 4: Viết chương trình thể kết hệ thống với đầu vào từ webcam video 1.3 Đối tượng phạm vi đề tài  Các tập liệu dáng đi, tư nhiều người  Các mơ hình mạng nơ ron deep learning  Các thư viện, framework hỗ trợ xử lý ảnh, deep learning với python: OpenCV, TensorFlow, Keras, OpenPose, Caffe … 1.4 Phương pháp nghiên cứu - Nghiên cứu báo liên quan - Tìm hiểu phương pháp xử lý ảnh, mơ hình hóa - Nghiên cứu deep learning mơ hình neural network - Lựa chọn, xử lý tập liệu huấn liệu - Xây dựng, thử nghiệm thuật tốn, viết chương trình hồn chỉnh - Thực nghiệm với đầu vào video, webcam - Kiểm tra, tối ưu chương trình, đánh giá kết 1.5 Phân chia cơng việc nhóm  Kế hoạch dự án Tiến hành thực nghiệm Vinh GVHD: TS Trương Quang Ngày bắt đầu Thời gian 01/03 11/03 21/03 31/03 10/04 20/04 30/04 10/05 20/05 30/05 Tìm thơng tin đề tài, đọc paper, tài liệu Tìm hiểu thư viện, data Xây dựng giải thuật, chọn phần mềm Xử lý data, xây dựng mơ hình học máy Viết code chương trình, debug Tối ưu chương trình Báo cáo Hình Kế hoạch dự án TEAM CONTRACT Team name: Hoàng Tuấn + Minh Nhật Team Member Roles Đinh Võ Hồng Tuấn Leader, study algorithms and write programs Nguyễn Đình Minh Nhật Study algorithms and write programs Tasks Date: 01/03/2019 Signature Responsible Member Study algorithms and write programs Đinh Võ Hoàng Tuấn Study algorithms and write programs Nguyễn Đình Minh Nhật Integrate and test All Team meeting 19 - 20h sáng, thứ 7, CN Team rules Mọi người làm việc Tranh cãi thảo luận tự Tập trung vào chủ đề, khơng nói lan man họp nhóm Ln nghĩ biện pháp cải tiến trình làm sản phẩm Ghi chép lại ghi cần thiết quan trọng Tiến hành thực nghiệm Vinh GVHD: TS Trương Quang Hình Team contract LÝ THUYẾT 2.1 Tổng quan nhận diện tư Phân tích tư người tốn phức tạp đầy thách thức phạm vi rộng lớn Nhận dạng dáng đi, theo vết chuyển động, mơ hình hóa xác định ngữ nghĩa dáng vấn đề nhận nhiều ý lĩnh vực thị giác máy tính, cộng đồng nhà nghiên cứu học máy Bên cạnh ứng dụng giám sát, tương tác người – máy, đa phương tiện mô phỏng, việc sử dụng hệ thống thị giác máy tính cịn phục vụ cho mục tiêu chăm sóc y tế nhà Các hệ thống sử dụng camera kết nối với máy tính xử lý chuyên dụng để quan sát đánh giá dáng người Hiện có nhiều nghiên cứu đạt kết cao việc phân tích dáng người dựa nhận diện điểm đặc trưng thể (keypoint) Quá trình phân tích đặc trưng gồm giai đoạn chính: phân đoạn để xác định đối tượng chuyển động, theo vết đối tượng, trích xuất đặc trưng biểu diễn thơng tin Bước thường tách đối tượng cần quan tâm khỏi phần lại ảnh, gọi Trong hệ thống chăm sóc y tế, đối tượng chuyển động người Bước nhận diện điểm đặc trưng đối tượng theo vết Để làm điều cần sử dụng mơ hình mạng nơ ron kỹ thuật học sâu để huấn luyện với liệu keypoint Việc theo vết đối tượng có liên quan đến việc ước lượng tư thế, vị trí, chuyển động phần thể Ước lượng tư xem bước hậu xử lý q trình theo vết, tích hợp trực tiếp Bước thứ ba sử dụng kết theo vết thông tin quỹ đạo chuyển động phần thể để trích xuất đặc trưng phù hợp Phương pháp cách tiếp cận theo hướng từ xuống (top-down) hiệu trường hợp đối tượng có người rõ rang khung ảnh, nhiên toán nhận diện dáng người nhiều người khung ảnh thách thức khơng độ xác mà tốc độ xử lý Tiến hành thực nghiệm Vinh GVHD: TS Trương Quang Hình CNN có khả trích đặc trưng phân lớp  Bài tốn phân lớp: Giả sử có u cầu: xác định xem hình ảnh đầu người tay người Ví dụ đủ để minh họa nguyên lý đằng sau CNN, đủ đơn giản để tránh bị sa lầy vào chi tiết không cần thiết CNN có cơng việc Mỗi lần đưa hình, phải định xem thuộc lớp đầu hay lớp tay Giả sử ln có kia, tức khơng tồn hình ảnh thuộc lớp khác ngồi hai lớp (ví dụ chân, mông, ) Một cách tiếp cận đơn giản để giải vấn đề lưu hình ảnh đầu người khác cánh tay khác, so sánh hình ảnh với hai hình mẫu để xem khớp với bên Điều khiến cho cơng việc khó khăn máy tính hiểu số Khi so sánh hai hình ảnh, có giá trị điểm ảnh khơng trùng, ảnh máy tính khơng khớp Lý tưởng muốn xem liệu chúng thuộc lớp đầu hay tay chúng bị tịnh tiến, bị co, xoay biến dạng, hay chí bị che khuất phần Đây lúc ta cần CNN  Đặc trưng ( Feature ) CNN so sánh hình ảnh theo mảnh Các mảnh mà tìm gọi feature Ví dụ đơn giản có cạnh biên, hay đầu có đặc trưng mắt, mũi, miệng, tai, tóc, tay có ngón tay, cổ tay, Mỗi feature giống hình ảnh mini - mảng hai chiều nhỏ Các feature khớp với khía cạnh chung ảnh  Tích chập ( Convolution ) Khi xem hình ảnh mới, CNN khơng biết xác nơi feature khớp nên thử chúng khắp nơi, vị trí Khi tính tốn khớp feature toàn ảnh, làm thành filter (bộ lọc) Phần toán ta sử dụng để làm điều gọi tích chập, từ mà mạng Convolutional Neural Network có tên Để dễ hình dung phương pháp tính tích chập cho ảnh, giả sử ta có hình mang thơng tin giống chữ X có kích thước x pixel cửa sổ tích chập x Muốn tính tốn khớp feature mảnh hình ảnh, ta cần nhân điểm ảnh feature với giá trị điểm ảnh tương ứng mảnh hình ảnh Sau cộng tổng lại chia cho số lượng điểm ảnh Tiến hành thực nghiệm Vinh GVHD: TS Trương Quang feature Nếu hai điểm ảnh màu trắng (giá trị 1) x = Nếu hai màu đen, (-1)x(-1) = Dù cách nào, điểm ảnh mà khớp cho kết Tương tự vậy, không khớp -1 Nếu tất điểm ảnh feature khớp, cộng tổng lại chia cho số điểm ảnh Tương tự, khơng có điểm ảnh feature khớp với mảnh hình ảnh, kết -1 Hình CNN tính tích chập cho ảnh Để hồn tất tích chập, lặp lại trình này, xếp feature với mảnh hình ảnh Ta lấy kết từ tích chập tạo mảng hai chiều từ đó, dựa vào vị trí mảnh nằm hình ảnh Bản đồ phần khớp phiên lọc từ hình ảnh gốc Nó đồ thể nơi tìm thấy feature hình ảnh Các giá trị gần cho thấy khớp mạnh, giá trị gần -1 cho thấy khớp mạnh với âm feature, giá trị gần cho thấy không khớp với loại Bước lặp lại toàn trình chập cho feature khác Kết tập hợp hình ảnh lọc, ứng với filter Sẽ thuận tiện nhìn tồn thao tác tích chập bước xử lý Trong CNN gọi layer (lớp) tích chập, cho thấy gián tiếp sớm có layer khác thêm vào  Gộp (Pooling) Một công cụ mạnh mẽ khác mà CNN sử dụng gọi pooling Pooling cách lấy hình ảnh lớn làm co chúng lại giữ thông tin quan trọng Pooling dùng kiến thức tốn lớp hai Nó bao gồm việc duyệt bước ô vuông cửa sổ nhỏ dọc hình ảnh lấy giá trị lớn từ cửa sổ bước Trong thực tế, cửa sổ có cạnh điểm ảnh duyệt bước điểm ảnh 10 Tiến hành thực nghiệm Vinh Hình Phương Pooling  GVHD: TS Trương Quang pháp CNN Gradient Descent Trong Machine Learning nói riêng Tốn Tối Ưu nói chung, thường xun phải tìm giá trị nhỏ (hoặc đơi lớn nhất) hàm số Ví dụ hàm mát hai Linear Regression K-means Clustering Nhìn chung, việc tìm global minimum hàm mát Machine Learning phức tạp, chí bất khả thi Thay vào đó, người ta thường cố gắng tìm điểm local minimum, mức độ đó, coi nghiệm cần tìm tốn Các điểm local minimum nghiệm phương trình đạo hàm Nếu cách tìm toàn (hữu hạn) điểm cực tiểu, ta cần thay điểm local minimum vào hàm số tìm điểm làm cho hàm có giá trị nhỏ Tuy nhiên, hầu hết trường hợp, việc giải phương trình đạo hàm bất khả thi Nguyên nhân đến từ phức tạp dạng đạo hàm, từ việc điểm liệu có số chiều lớn, từ việc có nhiều điểm liệu Hướng tiếp cận phổ biến xuất phát từ điểm mà coi gần với nghiệm tốn, sau dùng phép toán lặp để tiến dần đến điểm cần tìm, tức đến đạo hàm gần với Gradient Descent (viết gọn GD) biến thể phương pháp dùng nhiều 11 Tiến hành thực nghiệm Vinh GVHD: TS Trương Quang Hình Gradient Descent 2.4 Áp dụng CNN vào tốn nhận diện tư Sau tìm hiểu mạng CNN, ta vào giải thuật làm tách hình ảnh khung xương từ người Mơ hình tính tốn vùng tiềm dựa thuật toán DP M để đưa vùng hình có khả vùng ta cần ý, phần bật phận thể Sau giai đoạn này, ta thu nhiều phần hình để làm nguyên liệu cho giai đoạn kế Sau có lượng phần hình làm đầu vào, lúc này, mạng CNN huấn luyện có vai trị phân lớp phần hình Mạng tính tốn gán xác suất cho phần hình dựa phận, sau giữ lại phần hình có xác suất cao nhất, phần hình bị loại bỏ đa phần phận khác không mong muốn Cuối cùng, 15 điểm thuộc 15 lớp phận giữ lại để tạo thành khung xương minh họa cho tư người bao gồm giá trị tọa độ x-y Chúng ta xây dựng thuật toán phù hợp để nối điểm lại với thành khung hoàn chỉnh 12 Tiến hành thực nghiệm Vinh GVHD: TS Trương Quang Hình 10 15 đặc trưng dáng người THIẾT KẾ VÀ THỰC HIỆN PHẦN MỀM 3.1 Yêu cầu đặt Xây dựng chương trình nhận diện dáng người với 15 điểm đặc trưng Chương trình nhận diện có đầu vào ảnh tĩnh RGB, video có khả chạy realtime với webcam Đáp ứng độ xác ảnh có nhiều người 3.2 Phân tích định hướng Nhận diện khung xương nhiều người khung hình tốn khó nhiều so với trường hợp người khó xác định vị trí số người ảnh Thông thường để giải điều ta có hai cách để tiếp cận: - Tiệp cận theo hướng từ xuống (Top- down): Trước tiên sử dụng hệ thống phát người ảnh (person detection Sau đối tượng đóng khung phân tích đặc trưng riêng khung thuộc đối tượng - Tiếp cận theo hướng từ lên (Bottom-up): Ta phát phận ( Keypoint) có mặt ảnh đánh dấu Tiếp đến ta liên kết phận người lại theo vị trí Rõ ràng việc tiếp cận từ xuống dễ dàng thêm vào hệ thống chương trình nhận diện người dễ việc tìm kiếm liên kết phận Tuy nhiên việc lồng ghép gây ảnh hưởng tương đối đến tốc độ xử lý sai số cao nhận diện sai từ bước Ta chọn phương thức tiếp cận từ lên để đảm bảo nhận diện xác Sử dụng mơ hình mạng nơ-ron tích chập (CNN) kết hợp với “trường liên kết đặc trưng” (Part Affinity Fields) 13 Tiến hành thực nghiệm Vinh GVHD: TS Trương Quang Hình 11 Kiến trúc mạng CNN nhánh 3.2.1 Part Affinity Fields Một PAF tập hợp trường vectơ 2D mã hóa vị trí hướng chi Giả sử bạn phát tất phận thể (tay, khuỷu tay, bàn chân, mắt cá chân, v.v.) Để tạo tư từ chúng, ta phải tìm cách kết nối hai điểm để tạo thành chi Đối với phận thể, có điểm tạo thành chi, có nhiều người hình ảnh, có nhiều thơng tin sai Chúng ta cần số biện pháp chắn cho liên kết phận thể phát (Part Affinity Fields) để chứa thơng tin vị trí định hướng toàn khu vực hỗ trợ chi Về chất, PAF tập hợp vectơ mã hóa hướng từ phần chi đến phần khác; chi coi trường quan hệ lực phận thể Đây ví dụ: Hình 12 PAF tương ứng kết nối khủy tay cánh tay phải, màu sắc mã hóa hướng Nếu điểm nằm chi giá trị PAF vectơ đơn vị từ điểm bắt đầu đến điểm kết thúc chi này; giá trị nằm ngồi chi Do đó, PAF trường vectơ chứa thơng tin chi cụ thể cho tất người hình ảnh tồn bộ PAF mã hóa tất chi cho người 14 Tiến hành thực nghiệm Vinh GVHD: TS Trương Quang 3.3 Lưu đồ giải thuật Heat map Biparite Graph Input Image Line Integral Net Connection PAF Output Human pose Merging Hình 13 Sơ đồ khối hệ thống  Neural Network Hoạt động cuối neural network trả tensor gồm 57 ma trận Tuy nhiên, trình cuối kết hợp hai tensor khác nhau: đồ nhiệt (heatmap) trường liên kết phận PAFs  Một heatmap ma trận lưu trữ mạng đáng tin chứa pixel định, có chứa phận định Có 18 (+1) đồ nhiệt liên kết với phận thích vẽ khung xương Chúng ta trích xuất vị trí phận thể số 18 ma trận Hình 14 Heatmap 15 Tiến hành thực nghiệm Vinh GVHD: TS Trương Quang  PAFs (Trường liên kết phận) ma trận cung cấp thông tin vị trí hướng cặp điểm Mỗi điểm theo cặp: phận, ta có PAF theo hướng ‘x, PAF theo hướng‘ y Có 38 PAFs liên kết với cặp thích vẽ khung xương Chúng ta liên kết điểm thành cặp nhờ 38 ma trận Hình 15 Part Affinity Fields  Đồ thị lưỡng phân (Bipartite Graph) Bây tìm thấy phần thích hợp cho phận thể, ta cần kết nối chúng để tạo thành cặp Giả sử hình ảnh định, định vị tập hợp điểm cổ tập hợp điểm hơng phải Đối với điểm cổ có kết nối với bên hơng phải Vì vậy, có, biểu đồ lưỡng phân hồn chỉnh, đỉnh điểm phận cạnh kết nối Hình 16 Điểm cổ kết nối với điểm hơng phải Tìm phù hợp đỉnh đồ thị lưỡng phân vấn đề tiếng lý thuyết đồ thị gọi tốn gán Để giải vấn đề tìm thấy kết nối đúng, cạnh biểu đồ nên có trọng số  Line Integral 16 Tiến hành thực nghiệm Vinh GVHD: TS Trương Quang Hình 17 Line Integral Đây nơi PAFs đưa vào trình Ta tính tích phân đường dọc theo phân đoạn mà kết nối cặp điểm, thông qua PAFs tương ứng (x y) cho cặp Theo Wikipedia, tích phân đường đo hiệu ứng trường định (trong trường hợp Trường liên kết phận) dọc theo đường cong định (trong trường hợp kết nối có điểm thích hợp) Hình 18 Tích phân đường tính tốn Tích phân đường cung cấp cho kết nối số, lưu biểu đồ lưỡng cực có trọng số cho phép giải vấn đề chuyển tiếp  Chuyển tiếp (Asignment) Đồ thị lưỡng phân có trọng số cho thấy tất kết nối có điểm hai phần (hay phận) giữ số cho kết nối Nhiệm vụ tìm kết nối tối đa hóa tổng điểm, nghĩa giải vấn đề chuyển tiếp Có nhiều giải pháp tốt cho vấn đề này, ta chọn giải pháp trực quan nhất: Sắp xếp kết nối theo điểm số Kết nối với điểm số cao kết nối cuối Di chuyển đến kết nối Nếu trước khơng có phần kết nối gán cho kết nối cuối cùng, kết nối cuối Lặp lại bước hoàn thành 17 Tiến hành thực nghiệm Vinh GVHD: TS Trương Quang Hình 19 Assignment Algorithm Như ta thấy, có số điểm cuối khơng phù hợp tạo thành cặp  Sáp nhập Bước cuối chuyển đổi kết nối phát thành khung xương cuối Chúng ta bắt đầu với giả định: lúc đầu, kết nối thuộc người khác Theo cách này, có số lượng người kết nối mà phát Đặt Humans tập hợp tập {H1, H2, …, Hk} Mỗi tập nghĩa là, người – ban đầu chứa hai phần (một cặp) Và xem phần số, tọa độ theo hướng ‘x, tọa độ theo hướng‘ y Tiếp theo, ta có hợp nhất: H1 H2 chia sẻ số phần với tọa độ, chúng chia sẻ phần Do đó, H1 H2 Humans Vì vậy, chúng tơi hợp hai vào H1 loại bỏ H2 Thuật toán Merging 18 Tiến hành thực nghiệm Vinh GVHD: TS Trương Quang Chúng ta tiếp tục làm điều cho cặp Humans khơng có cặp đơi chia sẻ chung phần  Đầu Cuối cùng, nhận tập hợp tập Humans, Human tập hợp phận, phận chứa số, tọa độ liên quan điểm số KẾT QUẢ THỰC HIỆN 4.1 Dữ liệu thực Để huấn luyện mạng CNN áp dụng cho việc phát phận người, ta sử dụng hàm loss function cross entropy làm hàm mát Bên cạnh đó, để tinh chỉnh vị trí dự đốn xác hơn, ta tính độ lệch vị trí dự đốn với vị trí nhãn tập liệu mục tiêu cố gắng giảm khoảng cách Mạng học tập liệu COCO COCO Dataset liệu lớn, thường dùng phân loại ảnh, xác định vật thể, phân đoạn thích đối tượng Tập liệu quy mô lớn với 330 nghìn ảnh >220 nghìn ảnh đánh nhãn, ảnh gồm thích Bộ liệu cung cấp 250 nghìn người với điểm đặc trưng đánh dấu Phương pháp gradient sử dụng Stochastic gradient descent với khoảng triệu bước, bắt đầu huấn luyện với learning rate = 0.001 cho 10.000 bước đầu tiên, sau giảm learning rate = 0.002 cho 420.000 bước tiếp theo, tiếp tục điều chỉnh learning rate = 0.0002 cho 300.000 bước kế learning rate = 0.0001 cho 300.000 bước lại, số bước mạng huấn luyện tương đương với 17 epochs (tức 17 lần mạng quét qua toàn tập liệu để học) 19 Tiến hành thực nghiệm Vinh GVHD: TS Trương Quang Hình 20 COCO dataset 4.2 Kết thực Chạy chương trình demo với input ảnh tĩnh Kết cho trường hợp tiêu biểu sau: Hình 21 Khởi chạy chương trình Anaconda Prompt Hình 22 Ảnh khơng có người Hình 23 Trường hợp ảnh người 20 Tiến hành thực nghiệm Vinh GVHD: TS Trương Quang Hình 24 Ảnh nhiều người 21 Tiến hành thực nghiệm Vinh GVHD: TS Trương Quang Hình 25 Nhận diện tương đối xác trường hợp tư khó Ta kiểm tra kết chạy trưc tiếp webcam Khởi động Webcam chương trình run_webcam.py Hình 26 Chương trình chạy webcam KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 5.1 Kết luận  Ưu điểm:  Thực trích khung xương ảnh RGB thường, độ xác tương đối  quay camera khơng cần có cảm biến độ sâu, tiết kiệm chi phí Khả ứng dụng thực tiễn đề tài, có nhiều tiềm phát triển thực hóa trở thành mơ hình tích hợp vào hệ thống an ninh đời sống  Hạn chế:   Tốc độ xử lý chậm Chưa phân loại tư 22 Tiến hành thực nghiệm Vinh GVHD: TS Trương Quang 5.2 Hướng phát triển       Nâng độ xác lên cao Tăng tốc độ xử lý khung hình (fps) Nhận diện nhiều đặc trưng thể Nhận diện loại tư thế/hành động Dự đốn hành động xảy Tạo chương trình chạy điện thoại TÀI LIỆU THAM KHẢO [1] Tống Văn On, “Thiết kế mạch số với VHDL & Verilog”, Nhà xuất Lao động Xã Hội, 2007 [2] Altera Corp., “SDRAM Controller for Altera’s DE2/ DE1 boards”, www.altera.com [3] Tống Văn On, “Thiết kế mạch số với VHDL & Verilog”, Nhà xuất Lao động Xã Hội, 2007 [4] Altera Corp., “SDRAM Controller for Altera’s DE2/ DE1 boards”, www.altera.com [5] Tống Văn On, “Thiết kế mạch số với VHDL & Verilog”, Nhà xuất Lao động Xã Hội, 2007 [6] Altera Corp., “SDRAM Controller for Altera’s DE2/ DE1 boards”, www.altera.com [7] Tống Văn On, “Thiết kế mạch số với VHDL & Verilog”, Nhà xuất Lao động Xã Hội, 2007 [8] Altera Corp., “SDRAM Controller for Altera’s DE2/ DE1 boards”, www.altera.com 23 ... máy Bên cạnh ứng dụng giám sát, tư? ?ng tác người – máy, đa phương tiện mô phỏng, việc sử dụng hệ thống thị giác máy tính cịn phục vụ cho mục tiêu chăm sóc y tế nhà Các hệ thống sử dụng camera kết... để dự đốn tư? ?ng lai Hình So sánh AI, Machine Learning, Deep Learning Nếu coi machine learning cơng nghệ tiên tiến nhất, deep learning "tiên tiến tiên tiến" Machine learning lấy vài ý tư? ??ng cốt... thực  Vậy deep learning làm gì? Để trả lời cho câu hỏi lí deep learning lại coi bước đột phá lớn đến ta đưa số ví dụ cách thức mà deep learning sử dụng giới ngày Những ứng dụng ấn tư? ??ng triển

Ngày đăng: 12/05/2021, 11:41

Xem thêm:

TỪ KHÓA LIÊN QUAN

Mục lục

    1.2 Nhiệm vụ đề tài

    1.3 Đối tượng phạm vi đề tài

    1.4 Phương pháp nghiên cứu

    1.5 Phân chia công việc nhóm

    2.1 Tổng quan về nhận diện tư thế

    2.3 Mạng Nơ-ron tích chập (CNN)

    2.4 Áp dụng CNN vào bài toán nhận diện tư thế

    3 THIẾT KẾ VÀ THỰC HIỆN PHẦN MỀM

    3.1 Yêu cầu đặt ra

    3.2 Phân tích định hướng

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

TÀI LIỆU LIÊN QUAN

w