iT邦幫忙

2024 iThome 鐵人賽

DAY 14
0
AI/ ML & Data

從0開始的影像辨識之路系列 第 15

CycleGAN-python:生成相似圖片「由簡化繁」-4-完整程式總結(Day 14)

  • 分享至 

  • xImage
  •  

本次主題是以colab的環境進行學習的,在本篇文章中,我將講解影像辨識的基礎技能在接下來的文章中這些技能將多次出現,先讀過這些語法再繼續去看後面的文章會比較能快速上手喔。依照進度每個禮拜都會記錄不同的影像辨識方法,基本順序會從:

  1. OpenCV
  2. 圖片分類(Tensorflow-Image classification)
  3. 語意分割(Semantic Segmentation)
  4. 生成模仿圖片(CycleGAN and pix2pix in PyTorch)
  5. 物件辨識(tensorflow object detection)
  6. 額外分享(MediaPipe)

資料集準備:
本次使用的資料集是Kaggle上面的edges2handbag,這個資料庫不是我自己的喔,由於是使用colab的關係所以要先把資料集上傳到Google雲端上,方便colab抓取資料集內容。

資料集的資料夾格式如下:

  • edges2handbag
    • train (訓練圖片)
    • val (測試圖片)

如圖:
資料夾內容:


雲端硬碟掛載:

from google.colab import drive
drive.mount('/content/drive')

模型訓練:
將雲端硬碟掛載好之後,我們就可以開始訓練模型了。後面文章會再補充模型的介紹以及模型的堆疊。在訓練好模型之後我們會將模型儲存到雲端硬碟,方便下次直接使用模型。

import os
os.chdir('/content/pytorch-CycleGAN-and-pix2pix/')

!git clone https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix
!pip install -r requirements.txt
!bash ./datasets/download_pix2pix_dataset.sh edges2handbag



! python train.py --dataroot ./datasets/edges2handbag --name ro_train --model pix2pix --lr_policy step  --n_epochs -99

訓練完成後成果圖:


將雲端硬碟掛載好之後,我們先載入上次訓練的模型。
模型載入及預測:

import shutil

source_file = '/content/drive/MyDrive/Colab_Notebooks/checkpoints/ROAD_pix2pix/ro_train/latest_net_G.pth'

target_directory = '/content/pytorch-CycleGAN-and-pix2pix/checkpoints/ro_train/'

shutil.copy(source_file, target_directory)

source_file = '/content/drive/MyDrive/Colab_Notebooks/checkpoints/ROAD_pix2pix/ro_train/latest_net_D.pth'
target_directory = '/content/pytorch-CycleGAN-and-pix2pix/checkpoints/ro_train/'

shutil.copy(source_file, target_directory)

! python test.py --dataroot ./datasets/edges2handbag/val/ --name ro_train --direction AtoB --num_test 360 --output_nc 3 --model pix2pix --results_dir /content/drive/MyDrive/result/pub

原始圖片:

實際預測結果:

預測結果感覺不佳主要原因是因為訓練次數不夠,可以自行增加訓練次數,效果應該會更好。
如果實際預測上遇到甚麼問題或是error的話歡迎丟到留言區討論喔!


文章主題一覽:

  1. OpenCV-python:影像辨識基礎技能-1(Day 1)
  2. OpenCV-python:影像辨識基礎技能-2(Day 2)
  3. OpenCV-python:影像辨識的基礎臉部偵測-加碼更新(Day 2)

  1. Tensorflow-python:圖片分類-1-資料集準備(Day 3)
  2. Tensorflow-python:圖片分類-2-模型訓練(Day 4)
  3. Tensorflow-python:圖片分類-3-模型實際使用(Day 5)
  4. Tensorflow-python:圖片分類-4-完整程式總結(Day 6)

  1. Tensorflow-python:語意分割-1-資料集介紹(Day 7)
  2. Tensorflow-python:語意分割-2-模型訓練(Day 8)
  3. Tensorflow-python:語意分割-3-模型實際使用(Day 9)
  4. Tensorflow-python:語意分割-4-完整程式總結(Day 10)

  1. CycleGAN-python:生成相似圖片「由簡化繁」-1-資料集介紹(Day 11)
  2. CycleGAN-python:生成相似圖片「由簡化繁」-2-模型訓練(Day 12)
  3. CycleGAN-python:生成相似圖片「由簡化繁」-3-模型實際使用(Day 13)
  4. CycleGAN-python:生成相似圖片「由簡化繁」-4-完整程式總結(Day 14)
  5. CycleGAN-python:生成相似圖片「由繁化簡」-1-資料集介紹(Day 15)
  6. CycleGAN-python:生成相似圖片「由繁化簡」-2-模型訓練(Day 16)
  7. CycleGAN-python:生成相似圖片「由繁化簡」-3-模型實際使用(Day 17)
  8. CycleGAN-python:生成相似圖片「由繁化簡」-4-完整程式總結(Day 18)

  1. tensorflow-object-detection:物件辨識-3-模型實際使用(Day 19)
  2. tensorflow-object-detection:物件辨識-4-模型實際使用_應用篇(Day 20)

  1. MediaPipe:額外分享-1-手部追蹤(Day 21)
  2. MediaPipe:額外分享-2-人臉檢測(Day 22)
  3. MediaPipe:額外分享-3-物體檢測(Day 23)
  4. MediaPipe:額外分享-4-姿勢檢測(Day 24)

  1. Tensorflow-python:圖片分類-1-模型介紹(Day 25)
  2. Tensorflow-python:圖片分類-2-變形應用(Day 26)
  3. Tensorflow-python:語意分割-1-模型介紹(Day 27)
  4. Tensorflow-python:語意分割-2-變形應用(Day 28)
  5. CycleGAN-python:生成相似圖片-1-模型介紹(Day 29)
  6. CycleGAN-python:生成相似圖片-2-變形應用(Day 30)

粗體字為額外更新的文章。


上一篇
CycleGAN-python:生成相似圖片「由簡化繁」-3-模型實際使用(Day 13)
下一篇
CycleGAN-python:生成相似圖片「由繁化簡」-1-資料集介紹(Day 15)
系列文
從0開始的影像辨識之路31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言