AI – Yolo Model Training – 「Darkflow」 Environment Setting

簡介

這篇我們就要實際的進入時操階段,進入前必須把環境搞好,這通常也是非常惱人且容易出錯的階段,這邊我會以Window10作業系統來架設環境,並且透過Anaconda介面來做環境設定。而當你在網路上搜尋Yolo時做時,有時會搜尋到「Darknet」,這是Yolo創建者所使用的,而網路上也很多人用「Darkflow」來實現Yolo AI的Training,這之後我們再來討論,那就That’s do this。

Just do it!

就當做大家都已經裝好Anaconda了,請進到軟體中,或是開啟Anaconda Prompt,類似命令提示字元的Command line介面,一樣可以創立Anaconda的環境。

conda create --name DarkFlow python=3.6

首先先建立一個新環境,請輸入上述文字,解釋一下,Conda是透過Anaconda的程式來創建一個名子叫做DarkFlow(這個可以輸入自己喜歡的名稱)的資料區而該資料區擁有Python3.6版本的環境。

接著請按下Y,等他自行安裝完成。安裝好之後就進入你剛剛創建好的環境之中,請輸入下面文字進入。

conda activate DarkFlow

資料夾所預設的路徑通常會在C槽的User資料夾中,當然你也可以不用換路徑,但我習慣是放在其他槽,此步驟可有可無,提醒一下。

而darkflow所需要的幾個元素在安裝前先跟大家介紹
1.python,這我們在新建環境時就已經安裝了,當然你的電腦也必須做pyhon的環境變數設定與安裝python軟體會比較保險。
2.openCV,這是做影像辨識很重要的一個軟體與專有名詞。
3.tensorflow,這是在AI訓練時必備的套件。

在安裝還沒安裝的套件前,我們可以在你剛剛新增環境中測試pyhon3有沒有成功安裝。假如跳出如上圖畫面就代表可以使用pip3來安裝套件。

pip

接下來安裝opencv、tensorflow與下載darkflow,安裝opencv與下載darkflow可能比較沒什麼問題,一樣照著指令輸入。但要提到的是安裝tensorflow,目前最新的版本是2.多,但darkflow有一個套件會與最新版本起衝突,所以請安裝1.15版本。

pip install opencv-contrib-python
pip install tensorflow==1.15
git clone https://github.com/thtrieu/darkflow

接下來請進入你剛剛clone完的darkflow資料夾,並安裝該資料夾所需的套件,它會自動安裝。

cd darkflow
pip install -e .

而這時假如出現這惱人的訓時時,代表你必須先安裝一個套件叫做Cython。而安裝完之後再接續剛剛的「pip install -e .」這個指令在輸入一次,才可以順利安裝。

pip install Cython

而環境安裝大概差不多完成了,接下來進行測試,看看你有沒有安裝成功,這邊就需要官方training好的model檔案來測試,剛剛下載來的並沒有model檔案(可能怕檔案太大不好放在git中),下載好之後請在darkflow資料夾中新增一個bin資料夾來放置model檔案。

接著請輸入一下字元,這個功能就是他會透過剛剛下載的model來驗證某資料夾內的所有圖片,並會生成一個叫做「out」的資料夾,裡面會有便是到的物件加上原本的圖儲存的圖片。

python flow --model cfg/yolo.cfg --load bin/yolov2.weights --imgdir sample_img/

這裡介紹一下上述的字串,在darkflow中,必須要透過「flow」來做任何有關training或驗證的所有動作,其實可以想成他是某個軟體。再來「–model」是要透過yolo的training設定檔案來驗證,「–load」是讀取training好的model,最後則是要到那裡作驗證「–imgdir」這是做圖片的驗證,當然你也可以作影片驗證或是及時的驗證,並且都可以儲存成驗證影片,以下是補充說明。

realtime webcam驗證
影片驗證
flow --model cfg/yolo-new.cfg --load bin/yolo-new.weights --demo videofile.avi
Webcam驗證
flow --model cfg/yolo-new.cfg --load bin/yolo-new.weights --demo camera
驗證+存檔
--saveVideo + 路徑

小結

到此為止環境大致已經設定完成,如果大家架設環境時有遇到問題都可以跟我討論,而架好環境當然要Training出自己的model阿,不然哪有什麼意思,在下篇會介紹這個部分。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *