2013-04-21 28 views
7

Đối với một dự án giáo dục, chúng tôi hiện đang làm việc trên một hệ thống phát hiện chuyển động và cử chỉ cơ bản. Mục tiêu chính của chúng tôi là phát hiện một cơ thể con người trên một dòng máy ảnh. Sử dụng thông tin này, chúng tôi muốn phát hiện một bộ xương cơ bản của cơ thể để phát hiện thêm các cử chỉ của người đó.Phát hiện bộ xương trên cơ thể

Chúng tôi đang sử dụng EmguCV/OpenCV để xử lý luồng của chúng tôi. Tôi tìm thấy video này trên Youtube: http://www.youtube.com/watch?v=fYZtmkfWh5g. Anh ta có thể phát hiện phần thân trên và đặt một bộ xương cơ bản trong đó, nhưng làm thế nào? Ông không đề cập đến bất kỳ thuật toán được sử dụng.

Chúng tôi đã cố gắng phát hiện đường viền cơ thể bằng cách sử dụng phép trừ nền (BackgroundSubtractorMOG2) nhưng nhiễu máy ảnh và điều kiện sét khiến chúng tôi thất bại.

Có ai có ý tưởng phát hiện chính xác cơ thể như được hiển thị trong video không?

+0

Nếu dự án của bạn ở trong nhà và mọi người sẽ đứng trong một khoảng cách ngắn từ máy ảnh, hãy thử sử dụng Kinect. SDK của nó có một mã mẫu giống như những gì bạn muốn. –

+0

Chỉ cần bắt đầu với phát hiện đầu và sau đó phát hiện vai sẽ dễ dàng bởi vì nó sẽ là dòng trên của thân hình retangle-xấp xỉ.Tôi nghĩ rằng phát hiện cánh tay trên và cánh tay thấp hơn vẫn là xấp xỉ hình chữ nhật. Nhưng để phân biệt hai phát hiện này, chúng cũng sử dụng phát hiện màu sắc. Tôi nghĩ đó là lý do tại sao anh ấy cho thấy làn da của mình ở cánh tay thấp hơn. –

Trả lời

1

Tôi nghĩ rằng bạn nên thực hiện các bước tiếp theo:

  1. Dò tìm khuôn mặt.
  2. Phát hiện tay.
  3. Ước tính tỷ lệ hình ảnh cơ thể.
  4. Đặt mô hình động học trên cơ thể (bộ xương), sử dụng vị trí đầu thông tin và đặt kích thước đầu phát hiện của chúng tôi.
  5. Đầu tay và mô hình đối sánh được phát hiện trước vị trí của đầu và tay của con người .
  6. Cập nhật động học nghịch của mô hình để có ước tính đặt ra con người.
  7. Tôi cho rằng, ở đây phải rất tốt để sử dụng một số bộ lọc thống kê , như bộ lọc hạt hoặc bộ lọc Kalman.
  8. Đến bước 1.

Đối với mô hình động học, bạn có thể sử dụng một số endine vật lý 2D (Box2D ví dụ).

0

More mô hình phức tạp, với NeuralNetworks như Caffe .. có thể được tìm thấy thông qua Websearch -> "Human Pose Estimation", ví dụ: https://github.com/ZheC/Realtime_Multi-Person_Pose_Estimation Có vẻ như trên hệ điều hành mới hơn không dễ cài đặt (trình biên dịch cũ ...?) 1 GB-HW nó sẽ không chạy như bây giờ) .

Và cuối cùng nó có thể là thú vị, cách deeplearnjs sẽ tăng hoặc được tích hợp (cho đến bây giờ nó cần chrome và các mẫu cho thấy nhận dạng đối tượng nhưng có vẻ đầy hứa hẹn).

Các vấn đề liên quan