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

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

By Chủ tiệm Mì
December 16, 2019 4 Min Read
6

Hello chào tuần mới anh em! Khi chúng ta xây dựng một nền tảng cho phép người dùng up ảnh lên như forum, group… thì điều chúng ta sợ nhất là người dùng up ảnh “mát mẻ” lên và chúng ta sẽ bị vạ lây. Hôm nay mình sẽ guide anh em xây dựng một model để khi người dùng up lên, máy tính có thể tự động phân biệt được là ảnh “mát mẻ” hay các ảnh ok nhé.

nhận diện ảnh mát mẻ

Here we go!

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

Các bạn tạo thư mục MiAI_Cool_Detect để lưu các tài liệu bài này nhé. Sau đó các bạn chuyển vào trong thư mục và gõ lệnh:

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

Đợi chút là source về trong tầm tay.

Bây giờ là tiến hành cài đặt các thư viện cần thiết với lệnh:

pip install -r setup.txt

Và do là train model nhận diện ảnh nhạy cảm nên chúng ta cần có thư mục các ảnh được chia theo thể loại nhạy cảm và không nhạy cảm. Các bạn thực hiện:

  • Tạo thư mục data trong thư mục MiAI_Cool_Detect (nếu chưa có)
  • Tải tệp tin dữ liệu tại đây và copy 2 thư mục 0 và 1 vào trong thư mục data. (Thanks bác Phạm Hữu Quang đã chia sẻ bộ data này).

Okie vậy là hòm hòm rồi. Chúng ta sang phần tiếp theo!

Phần 2 – Tư tưởng thuật toán của bài toán nhận diện ảnh nhạy cảm

Bài này chúng ta cúng sẽ chia 2 phase: train và test để các bạn nắm rõ ràng hơn nhé!

  • Phase Train: Chúng ta thực hiện các bước như sau:
    • Bước 1: Chúng ta build up model. Ở đây mình tận dụng mạng VGG16 với pretrain imagenet. Mình thêm vài lớp FC và Dropout để classify và tránh overfit.
    • Bước 2: Load dữ liệu trong 2 thư mục 0 (ảnh bình thường) và 1 (ảnh mát mẻ), resize về 200,200 để chuẩn bị train. Dữ liệu đầu ra có dạng one hot : 0 là okie, 1 là mát mẻ.
    • Bước 3: Compile model và fit với dữ liệu nói trên.
    • Bước 4. Save model ra file cool_model.h5
  • Phase Test:
    • Bước 1: Load model từ file cool_model.h5
    • Bước 2: Load ảnh cần predict , resize về 200×200 và convert thành tensor.
    • Bước 3: Nhét vào trong model để predict và in kết quả ra màn hình!

All right! Nắm tinh thần thế, code thôi!

Phần 3 – Viết code chương trình nhận diện ảnh mát mẻ

Các bạn để ý trong thư mục có 2 file python là train.py và predict.py.

File train.py sẽ thực hiện toàn bộ các việc như ở bước train bên trên mình có nói còn file predict sẽ đọc ảnh và thực hiện nhận diện xem là mát mẻ hay ảnh bình thường.

nhận diện ảnh mát mẻ

Mình đã comment khá rõ trong file nhé! Các bạn đọc Phần 2 và comment sẽ hiểu ngay cách làm.

Phần 4 – Tiến hành train và predict xem như nào!

Bây giờ các bạn chạy hãy kiểm tra lại xem dữ liệu đã đầy đủ chưa, đủ các bước chưa? Nếu đã okie các bạn chạy lệnh

python train.py

Và ngồi đợi model train nhé! Mình đang để 2 epoch vì đã thấy accurary khá ổn rồi. Các bạn tùy vào lượng dữ liệu mà tăng cho phù hợp nhé!

Để nhận diện thử ảnh các bạn chạy lệnh sau: (mình có để sẵn 2 file test0.jpg – ảnh thường và test1.jpg – ảnh mát mẻ)

python predict.py test0.jpg

Như các bạn thấy, model sẽ hiển thị là ảnh OK!

Còn nếu các bạn thay bằng file test1.jpg thì sẽ nhận được kết quả là :

Rồi, mình đã guide các bạn các sử dụng VGG16 để nhận diện các ảnh mát mẻ. Các bạn có thể thêm bớt, fine tune tùy ý để dùng vào thực tế nhé.

Chúc các bạn thành công và hẹn gặp lại!

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

Tags:

CNNmodelpretrain modelVGG16xxx detect
Author

Chủ tiệm Mì

Follow Me
Other Articles
Previous

Máy tính cũng biết nghe và cảm nhận âm nhạc với AI

Next

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

6 Comments
  1. nghia says:
    December 16, 2019 at 12:35 pm

    Có server nào free để up mô hình đó lên ko ạ?

    Reply
    1. Nguyễn Chiến Thắng says:
      December 16, 2019 at 12:37 pm

      Bạn có thể sử dụng Google Colab nhé!

      Reply
  2. Lê Minh Dũng says:
    December 16, 2019 at 1:00 pm

    Bạn ơi mình mới làm một project nhỏ với keras và flask. Mình muốn deploy lên cloud thì có cách nào không? Mình đã thử với google cloud nhưng nó bắt phải dùng thẻ ngân hàng các thứ để đăng kí.

    Reply
    1. Nguyễn Chiến Thắng says:
      December 16, 2019 at 1:01 pm

      Bạn vào group nhé. Có 1 bạn đang bán VPS khá rẻ!

      Group trao đổi, chia sẻ: https://facebook.com/groups/miaigroup

      Reply
  3. Tâm says:
    May 19, 2021 at 5:25 pm

    Bạn chia sẻ giúp dữ liệu data giúp ạ.
    Mình vào https://drive.google.com/drive/folders/1cTtHIa1oSAB5Emd9zZCvW_4EJGbWsp9b
    ==> nhận được thông báo không tìm thấy
    Cám ơn bạn rất nhiều

    Reply
    1. Nguyễn Chiến Thắng says:
      May 19, 2021 at 5:28 pm

      Sorry bạn. Data này mình xin của 1 bạn theo link đó, giờ bạn ấy lại xoá mất rồi. Bạn vào Thư viện Mì AI: https://miai.vn/thu-vien-mi-ai tải lại nhé!

      Reply
Show Comments

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!