[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  

聯絡我們及購買方式

請參閱以下網址:
https://tw.leaderg.com/article/index?sn=11056

延伸閱讀

1.
LEADERG App4AI 人工智能軟體 (App for AI, 不用寫程式, 視窗操作介面, 易學易用, 無經驗可, AI Model Zoo, Deep Learning, 深度學習, Machine Learning, 機器學習, 人工智慧)

2.
LEADERG AI Zoo 人工智能演算法 (整理及優化190種範例程式碼, 節省90%的開發時間, 10倍速快速開發 AI 程式, Jupyter Lab 操作介面, Code for AI, Code4AI, Less Coding, 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 AI Education 人工智能教育 (AI 教育, 影像分析, 影像分類, 物件偵測, 影像切割, 資料分析, deep learning, 深度學習, machine learning, 機器學習, big data, 大數據)

感謝客戶們的支持

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