[LEADERG AI ZOO] Jupyter-Image-Object-Detection-CSPResNeXt50-PANet-SPP-CPP

[簡介]

 

 

此解決方案可應用在工廠瑕疵檢測、醫療影像分析、生物影像分析、工安影像分析、口罩影像分析等。

 

 

 

[操作步驟及說明]

 

 

1_annotation_pascal_voc_xml.ipynb

 

開啟標記軟體。準備 png 或 jpg 影像進行標記,影像建議長寬比例一樣。

 

 

 

2_prepare_config_file.ipynb

 

設定參數。classes= 4 : 偵測類別數。

 

開啟 data/csresnext50-panet-spp-original-optimal.cfg,搜尋 "classes =",在 anchors = 下面,共有 3 個地方需要設定類別數。

 

接著搜尋 #filters =(classes + 5)x3  #255,修改此字串下方的 filters=,例如 : 4 類別,則 filters=27,共有 3 個地方需要設定。

 

設定類別名稱,請在 data/label.names 設定類別名稱,類別名稱需與標註時所用的類別名稱一模一樣。

 

 

 

3_convert_yolo_format.ipynb

 

將標記好的 voc xml 轉換成 yolo 格式。

 

 

 

4_prepare_train_txt.ipynb

 

準備訓練影像清單。

 

  • image_path = "data/train/images" : 訓練影像路徑。
  • txt = "data/train.txt" : 輸出的訓練影像清單。

 

 

 

5_prepare_val_txt.ipynb

 

準備驗證影像清單。

 

  • image_path = "data/val/images" : 驗證影像路徑。
  • txt = "data/val.txt" : 輸出的驗證影像清單。

 

 

 

99_calculate_anchors.ipynb

 

訓練之前請記得執行此 ipynb。-width 608 -height 608 為要訓練影像的大小 (可修改),如果實際影像非尺寸會進行縮放,建議影像的長寬要等比例。

 

執行後,請複製視窗上面的

anchors =  62, 99,  79,223, 160,192,  73,469, 424,111, 331,225, 254,369, 151,640, 315,603

 

將此組數字貼在 data/csresnext50-panet-spp-original-optimal.cfg 裡面的所有 anchors,共有三個地方需修改。接著,修改cfg 裡面的 width=608、height=608,需要與此 ipynb 設定的值一樣。

 

 

 

6_train_CPU.ipynb

6_train_GPU.ipynb

 

訓練,如果裝置支援 GPU 加速運算請選擇 6_train_GPU,反之請選擇 6_train_CPU。

 

model/csresnext50-panet-spp-original-optimal_best.weights :以此模型接續訓練。如果不接續請刪除此參數。

 

os.system("start src/darknet/build/darknet/x64/darknet_no_gpu.exe detector train data/voc.data data/csresnext50-panet-spp-original-optimal.cfg model/csresnext50-panet-spp-original-optimal_best.weights -map -clear")

 

 

 

7_inference_CPU.ipynb

7_inference_GPU.ipynb

 

推論單張影像。

 

  • model/csresnext50-panet-spp-original-optimal_best.weights : 推論的模型。
  • data/test/images/inclusion-2.jpg : 推論的影像。
  • -thresh 0.75 : 推論的閾值。

 

 

 

8_inference_webcam_CPU.ipynb

8_inference_webcam_GPU.ipynb

 

使用 webcam 推論。-c 0 為 webcam 裝置 id。

 

 

 

9_inference_folder_1_CPU.ipynb

9_inference_folder_1_GPU.ipynb

 

推論資料夾內的所有影像。

 

  • image_path = "data/test/images" : 推論資料夾 (jpg、png)。
  • model_path = "model/csresnext50-panet-spp-original-optimal_best.weights" : 推論的模型。

 

 

 

10_inference_api_CPU.ipynb

10_inference_api_GPU.ipynb

11_inference_api_browser.ipynb

 

推論的 API,運行 10_inference_api_CPU.ipynb 開啟 server,接著運行 11_inference_api_browser.ipynb,跳出瀏覽器,可以選擇圖片進行推論。 

 

  • --port 8801 : 開啟的 port。
  • --model_file model/csresnext50-panet-spp-original-optimal_best.weights : 推論的模型。
  • --threshold 0.7 : 推論閾值,數值越高,要求的相似程度越嚴格。

 

 

 

99_auto_labeling_GPU.ipynb

 

使用訓練好的模型進行推論,自動標註 voc xml 格式。

 

  • image_path = "data/auto_labeling/image" : 要標記的影像資料夾。
  • model_path = "model/csresnext50-panet-spp-original-optimal_best.weights": 要推論的模型。
  • output_folder = 'data/auto_labeling/annotation': 輸出的標註路徑。

 

 

inference.png  


延伸閱讀

1.
LEADERG AOI VISION 人工智能影像分析軟體 (No Code, 不用寫程式, 視窗操作介面, 易學易用, 無經驗可, Deep Learning, 深度學習, Machine Learning, 機器學習)

2.
LEADERG AI ZOO 人工智能演算法軟體 (Low Code, 整理及優化190種範例程式, 節省90%的開發時間, 10倍速快速開發 AI 程式, Jupyter Lab 操作介面, AI Model Zoo, 深度學習, 機器學習, Big Data, 大數據)

3.
LEADERG ACE 人工智能電腦 (工作站、伺服器、筆電,GPU, computer, workstation, notebook, server, NVIDIA, RTX-3090-24G, RTX-A6000-48G, A100-40G, deep learning, 深度學習, machine learning, 機器學習)

4.
LEADERG EDU 人工智能教育訓練課程 (影像分析, 影像分類, 物件偵測, 影像切割, 資料分析, deep learning, 深度學習, machine learning, 機器學習, big data, 大數據)

感謝客戶們的支持

臺灣大學、清華大學、陽明交通大學、成功大學、臺北醫學大學、臺北護理健康大學、中興大學、暨南大學、宜蘭大學、聯合大學、國防大學、陸軍軍官學校、海軍軍官學校、逢甲大學、長庚大學、義守大學、實踐大學、台科大、北科大、臺中科大、雲林科大、勤益科大、虎尾科大、屏東科大、高雄科大、朝陽科大、明志科大、南臺科大、中國科大、鼓山高中、榮民總醫院、長庚醫院、慈濟醫院、義大醫院、中山科學研究院、國防部軍備局、法務部調查局、工研院、資策會、原子能委員會核能研究所、農業委員會特有生物研究保育中心、勞動部勞動研究所、金屬工業研究發展中心、台灣儀器科技研究中心、車輛測試中心、台灣自來水公司、台積電、聯電、南亞科、華邦電子、精材科技、華信光電、友達光電、群創光電、瀚宇彩晶、台塑、台塑網、南亞塑膠、台灣化學纖維、中國石油、羅技電子、義隆電子、隆達電子、達方電子、大聯大 - 世平興業、盟立自動化、迅得機械、南茂科技、順達科技、致伸科技、豐興鋼鐵、中宇環保工程、竹陞科技、研揚科技、敦陽科技、竑騰科技、先豐通訊、神達電腦、百佳泰、科音國際、鴻鵠國際等。