User Tools

Site Tools


mhst:ideas:mhst2013:hnlug01

Khác biệt

Đây là những khác biệt giữa phiên bạn được chọn và phiên bản hiện tại của trang này.

Liên kết để xem bản so sánh này

mhst:ideas:mhst2013:hnlug01 [2014/09/05 10:26] (hiện tại)
Dòng 1: Dòng 1:
 +====== Xén ảnh thông minh nhờ phát hiện khuôn mặt ======
  
 +===== Mức độ: =====
 + 
 +  * Tương đối khó.
 +
 +===== Mô tả ý tưởng =====
 +
 +Thực hiện một thuật toán phát hiện khuôn mặt (face detection) trên PHP, sau đó tích hợp vào một hệ quản trị nội dung (CMS) để giải quyết bài toán xén ảnh thông minh.
 +Vấn đề
 +
 +Phát hiện khuôn mặt là một bài toán cơ bản trong xử lí ảnh. Đã có khá nhiều thuật toán giải quyết vấn đề này, viết trên nhiều ngôn ngữ khác nhau. Thư viện OpenCV cũng có sẵn công cụ để phát hiện khuôn mặt.
 +
 +Tuy nhiên, khi giải quyết bài toán thực tế là xén ảnh thông minh (không xén mất phần quan trọng) thì đa phần các CMS hiện nay đều thiếu chức năng này, hậu quả là: hoặc là phần mặt thường xuyên bị xén mất, hoặc là thực hiện co ảnh chứ không xén, dẫn đến việc ảnh bị biến dạng.
 +
 +Để giải quyết triệt đề, cần hai bước:
 +
 +  *   Sử dụng thư viện OpenCV nếu có thể.
 +  *     Nếu không có thư viện OpenCV, tự thực hiện một thuật toán có sẵn dùng PHP. Hiện có một số lớp thuần PHP có thể phát hiện khuôn mặt, nhưng tốc độ chậm và độ chính xác không cao. Mục tiêu là tăng tốc độ lên 5 - 10 lần để đạt hiệu năng "​chấp nhận được"​.
 +
 +===== Kĩ năng =====
 +
 +
 +**Cần thiết:**
 +
 +    Tư duy thuật toán
 +    Lập trình PHP
 +
 +**Nên có:**
 +
 +    Cơ bản về xử lí ảnh
 +    Cơ bản về Drupal
 +
 +===== Kế hoạch =====
 +
 +  * Tìm hiểu các thuật toán phát hiện khuôn mặt có sẵn, các script PHP thực hiện các thuật toán này (thường trong 100 - 200 dòng mã): 15%
 +  * Chọn một số ảnh để đo và theo dõi hiệu năng sản phẩm sẽ làm, so sánh với OpenCV và các script khác: 5%
 +  * Thực hiện một thuật toán trên PHP: hoặc chọn một thuật toán, hoặc chọn một script ở ngôn ngữ khác, hoặc cải tiến một script trên PHP có sẵn: 60%
 +  *  Tích hợp vào Drupal, dựa trên mô đun image_focus,​ để cho phép xén ảnh thông minh, dựa vào các công cụ có sẵn: OpenCV, nếu không có thì dùng script ở bước trên, nếu vẫn không phát hiện ra khuôn mặt thì dùng entropy để xác định tiêu điểm (đã có sẵn, không cần phát triển): 20%
 +
 +Nếu thời gian cho phép, có thể làm thêm một hoặc nhiều cải tiến nhỏ dưới đây:
 +
 +  * Port image_focus sang Drupal 8 sẽ phát hành cuối năm nay.
 +  * Phát triển mô đun cho CMS khác (NukeViet, WordPress, Joomla! tùy chọn).
 +
 +===== Sản phẩm =====
 +
 +  * Một công cụ phát hiện khuôn mặt/xén ảnh thông minh trên PHP, độc lập, có thể sử dụng bởi bất kì CMS nào. Công bố trên GitHub.
 +  * Mô đun image_focus cải tiến trên Drupal. Công bố trên drupal.org ở dự án chính thức.
 +
 +===== Tham khảo =====
 +
 +  * http://​opencv.org/​
 +  * http://​drupal.org/​node/​910142
 +  * http://​drupal.org/​project/​image_focus
 +  * http://​drupal.org/​project/​face_detection
 +  * https://​github.com/​liuliu/​ccv
 +  * https://​github.com/​felixkoch/​PHP-FaceDetector
 +  * https://​github.com/​mauricesvay/​php-facedetection
 +  * http://​www.loria.fr/​~nguyentp/​pubs/​FAIR_05.pdf
 +
 +===== Người hướng dẫn =====
 +  *  Nguyễn Hải Nam, hainam[at]gmail[dot]com
mhst/ideas/mhst2013/hnlug01.txt · Thời điểm thay đổi: 2014/09/05 10:26 (external edit)