[Chia sẻ] Mô hình dự đoán độ tuổi và giới tính

deep-learning
computer-vision

#1

Chào mọi người, mình mới code xong một mô hình đồng thời dự đoán độ tuổi và giới tính (multi-task). Mình muốn chia sẻ lên đây để ai quan tâm có thể tham khảo và cũng như đóng góp cùng phát triển. Đặc biệt những người mới làm quen với DL. Sơ qua về repo:

  • Dataset: IMDB, Wiki, APPA-real
  • Mô hình: ResNet/SeNet/DenseNet.
  • Framework: Tensorflow >= 1.15

Mô hình được huấn luyện từ đầu, không dùng transfer learning. Mình tự triển khai lại các mạng ResNet, SeNet, DenseNet bằng tf.keras. Sử dụng tf.data.Dataset để tối ưu thời gian huấn luyện. Ngoài ra, mình cũng viết lại một số các hàm augmentation bằng tf để tương thích tối đa với data api pipeline. Kết quả đạt được cũng khá ổn, như trong hình dưới đây.

Link repo: https://github.com/tamnguyenvan/age-gender-estimation

Rất mong nhận được những sự đóng góp cũng như phản hồi của mọi người. Chúc mọi người ngày mới vui vẻ!


#2

Cảm ơn bạn. Giả sử mình có 1 phần cần đánh giá là. Bao nhiêu % bị dự đoán già hơn tuổi và bao nhiêu % dự đoán trẻ hơn tuổi. Bạn có thể giúp mình tính được không ạ :smiley:


#3

Ý bạn là tính % các dự đoán lớn hơn tuổi thật (real age) và % các dự đoán thấp hơn tuổi thật trên tập dữ liệu test?


#4

Đúng rồi bạn :smile:


#5

Nếu bạn đã có label rồi thì dễ thôi. Đại khái như này.

predictions = model.predict(images)[0]  # ages only
over_real = np.mean(predictions - ages > 0)
under_real = np.mean(predictions - ages < 0)

#6

Mình đang nhờ bạn kiểm tra model bạn mà :smiley:


#7

Ồ, mình hiểu nhầm ý bạn. Để tối có thời gian mình sẽ check lại xem. :smiley:


#8

Kiểu như theo tâm lý thì phụ nữ thích được dự đoán trẻ hơn tuổi. Còn nam thì thích dự đoán già hơn tuổi cho chín chắn chẳng hạn :smiley:


#9

ông anh tâm lý quá =))


#10

Có so sánh kết quả của model vs kết quả tốt nhất từng task hiện nay thì tốt quá. Vì mình k biết nhiều về CV nên hạn chế về results experiments của họ quá. Theo mình thấy multitask thường sẽ giảm performance 1 chút hay sao ý nhỉ