Skip to content
Mì AI Mì AI Mì AI

Học AI theo cách Mì ăn liền!

Mì AI Mì AI Mì AI

Học AI theo cách Mì ăn liền!

  • Trang chủ
  • Kênh Youtube
  • Facebook Group
  • Nói về chủ tiệm Mì
  • Trang chủ
  • Kênh Youtube
  • Facebook Group
  • Nói về chủ tiệm Mì
Close

Search

  • Trang chủ
  • Kênh Youtube
  • Facebook Group
  • Nói về chủ tiệm Mì
Mì AI Mì AI Mì AI

Học AI theo cách Mì ăn liền!

Mì AI Mì AI Mì AI

Học AI theo cách Mì ăn liền!

  • Trang chủ
  • Kênh Youtube
  • Facebook Group
  • Nói về chủ tiệm Mì
  • Trang chủ
  • Kênh Youtube
  • Facebook Group
  • Nói về chủ tiệm Mì
Close

Search

  • Trang chủ
  • Kênh Youtube
  • Facebook Group
  • Nói về chủ tiệm Mì
Computer Vision

Thử dạy máy tính xem và phân loại video các môn thể thao Seagames 30

By Chủ tiệm Mì
December 20, 2019 4 Min Read
2

Hello cuối tuần các anh em Mì AI, một tuần trôi qua thật nhanh và ngày cuối tuần vui vẻ đến tất cả các anh em nhé. Hôm nay mình sẽ cùng anh em đến với một bài classify nhưng không phải là classify hình ảnh thường nữa mà anh em ta sẽ cùng nhau classify, phân loại video nhé.

Sau khi train xong, chúng ta sẽ cho model xem trận đấu bóng đá chung kết Seagames 30 và máy tính sẽ hiển thị là “Đang xem bóng đá”. Hoặc nếu cho xem quả huy chương vàng bơi lội của Ánh Viên thì máy sẽ nói “Đang xem bơi lội” :D.

Thú vị đúng ko các bạn ? Bắt đầu luôn nhé!

Nguồn: ZingVN

Phần 1 – Chuẩn bị nguyên vật liệu

Các bạn tạo thư mục MiAI_Video_Classify để lưu mã nguồn nhé. Tạo xong thì clone ngay thôi

git clone https://github.com/thangnch/MiAI_Sport_Classify .

Đợi một tý là các bạn có mã nguồn liền tay. Bây giờ thì như thường lệ là cài đặt các thư viện

pip install -r setup.txt

Xong con ong! Bây giờ tải dữ liệu về nhé. Mình sẽ sử dụng các hình ảnh của 3 môn thể thao là: bóng đá, bơi lội và đấm bốc nhé (để demo cho nhanh). Các bạn bấm vào đây để tải dữ liệu tại đây ( cảm ơn tác giả Anubhav Maity đã chia sẻ)

Sau khi tải dữ liệu về các bạn sẽ có thư mục data, copy nguyên thư mục data đó vào folder MiAI_Video_Classify là xong luôn!

Phần 2 – Tư tưởng thuật toán phân loại video

Chắn hẳn các bạn đã quen với việc dùng CNN để phân loại hình ảnh đúng không? Bài này cũng tương tự.

  • Mình sử dụng mạng Resnet50 và weight imagenet để thực hiện transferlearning.
  • Sau đó đóng băng các lớp của mạng và gắn thêm vài lớp Flattern và Dense, kết thúc bằng Softmax để clasiffy.
  • Mình đưa liên tiếp các ảnh của video vào để classify sau đó lấy trung bình của 128 frame liên tiếp gần nhất để đưa ra kết quả dự đoán cuối cùng và hiển thị lên màn hình.

Phần 3 – Mã nguồn chương trình

Các bạn chú ý sẽ có 2 file:

  • Training.py: File thực hiện xử lý dữ liệu và train model, lưu model ra file h5.
  • Predict.py: Thực hiện đọc frame từ video, xử lý ảnh và và predict kết quả cuối cùng và hiển thị lên màn hình.

Phần 4 – Tiến hành train và test model phân loại video

Đầu tiên hãy kiểm tra lại xem dữ liệu đã đầy đủ chưa, các bạn đã cài cắm đủ thư viện chưa. Nếu đã đủ hãy gõ lệnh sau để train:

python training.py

Ở đây mình đang để tạm 25 epochs vì thấy accurary cũng khá ổn rồi. Các bạn có thể điều chỉnh nếu muốn.

phân loại video

Sau khi train xong model sẽ được lưu vào file models/sport.h5 nhé. Mình có pretrain sẵn cho các bạn thử nhé, tại đây. Các bạn tải về copy vào thư mục models là xong!

Bây giờ là bước thú vị nhất đó là kiểm tra model của chúng ta. Mình có để sẵn 2 video trong thư mục test_video :

  • Football_lite.mp4: Là bàn thằng của Việt Nam trước Indo Seagames 30 vừa rồi
  • Swim_lite.mp4: Là huy chương vàng bơi lội của Ánh Viên

Chúng ta chạy lệnh sau để kiểm thử nhé:

python predict.py -v test_video/football_lite.mp4

Và màn hình sẽ hiện ra hình ảnh trận đấu bóng đá kèm dự đoán chuẩn của model là: “I’m watching: Football”

phân loại video

Bây giờ chúng ta đổi câu lệnh:

python predict.py -v test_video/swim_lite.mp4

Và chúng ta sẽ có predict là đang xem Swiming 😀

phân loại video

Như vậy model của chúng ta đã dự đoán chuẩn các môn thể thao. Bài này mình xin tạm dừng ở đây nhé. Hẹn gặp lại các bạn trong các bài tiếp theo nhé!

Hãy join cùng cộng đồng Mì AI nhé!

Fanpage: http://facebook.com/miaiblog
Group trao đổi, chia sẻ: https://www.facebook.com/groups/miaigroup
Website: https://miai.vn/
Youtube: http://bit.ly/miaiyoutube

Cảm ơn tác giả Anubhav Maity đã có bài tham khảo tuyệt vời!

Tags:

CNNresnetsport classifytransfer learningvideo classify
Author

Chủ tiệm Mì

Follow Me
Other Articles
Previous

Xây dựng model phân biệt và tránh xa ảnh “mát mẻ”

Next

Có ít dữ liệu, làm sao train model? – Chương 1. Data Augment cho ảnh

2 Comments
  1. khuong nguyen says:
    October 11, 2024 at 8:25 pm

    Link file data lỗi rồi ad

    Reply
    1. Nguyễn Chiến Thắng says:
      October 15, 2024 at 10:16 am

      Yeah chắc lâu quá rồi. Bạn post lên Group trao đổi, chia sẻ: https://facebook.com/groups/miaigroup trao đổi cho tiện nhé!

      Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Recent Posts

  • Tìm hiểu và cài đặt OpenClaw – trợ lý ảo 24/7 thông minh đa chức năng – Mì Ai
  • Dùng thử Pika – robot học Tiếng Anh cho trẻ cực đỉnh – Mì AI
  • TopView.AI 4.0 – nền tảng tạo AI video cộng tác bá đạo – Mì AI
  • Storm MCP – giải pháp nhanh gọn nhẹ để có MCP Server trong 5 phút – Mì AI
  • VoxCPM thử voice cloning với checkpoint finetune Tiếng Việt – Mì AI

Recent Comments

  1. Chủ tiệm Mì on Thử xây dựng hệ thống Agentic AI với LangGraph – Mì AI
  2. Nguyễn Chiến Thắng on [Nhận diện biển số xe] Chương 3 – Phát hiện biển số bằng OpenCV thuần
  3. Trần Sơn Dương on [Nhận diện biển số xe] Chương 3 – Phát hiện biển số bằng OpenCV thuần
  4. Salomon on [CV] Thử làm model cảnh báo ngủ gật cho tài xế oto bằng Dlib và Resnet
  5. khang on Xây dựng hệ thống nhận diện thủ ngữ – ngôn ngữ ký hiệu tay – để giao tiếp với người khuyết tật

Categories

  • Basic
  • Computer Vision
  • Data Science – Data Analysis
  • Generative AI
  • MÌ ÚP
  • Natural Language Processing
  • RNN-LSTM-GRU
  • Share Data

Là người đi trước, hãy biết đưa tay lại phía sau.

Nguyễn Chiến Thắng
Cảm ơn các bạn đã ủng hộ Mì AI!