資料標註+train
1.資料採集
將下面檔案放在samples/cplusplus/level1_single_api/5_200dk_peripheral/ascendcamera/out
下,和main
在同一目錄下
capimg.sh
#capimg.sh
n=3000 #不能寫成n = 3000, 多的空格會引發語法錯誤
for((i=0; i<=n; i++))
do
./main -i -c 0 -w 1280 -h 720 -o ./output/$i.jpg >log.txt --overwrite
echo $idone
done
其中引數 n 為採集圖片張數 ; 引數 -w 1280 為錄製影片的寬;引數 -h 720 為錄製影片的 高;預設輸出圖片檔案在同一目錄下。
修改 capimg.sh 檔案的許可權,使檔案可執行。
chmod +x capimg.sh
執行指令碼
bash capimg.sh
資料採集需要考慮關鍵要素:資料的多樣性,包括
- 光線
- 小車位於車道哪個位置(偏左、偏右、居中)
- 小車前進方向和小車與車道角度(直行、S 形行駛)
- 視野內有無障礙物
- 車道周邊的環境
2.資料標註
工具及其原始碼:https://ww0.lanzouq.com/ik5PD24i7ksf
2.1將資料放到${HOME}/code/tools/ATool/img
下
2.2啟動標註工具
#安裝依賴庫
sudo apt-get install libopencv-dev
sudo apt-get install libjsoncpp-dev
sudo ln -s /usr/include/jsoncpp/json/ /usr/include/json
#編譯
cd $HOME/code/tools/ATool/build
cmake .. && make -j4 #開4程序加快速度
#執行
./ATool
#注:如果there is no application installed for shared,報錯顯示沒有該指令執行需要的軟體,根據報錯安裝後重試即可
滑鼠所在的位置有一個移動的點,從螢幕下方的中間(代表小車攝像機的位置)到滑鼠之間有 一條輔助線,代表小車的前進方向。螢幕中間有一條水平的輔助線,標註方法如下:
在輔助線上下,選擇一個道路中間的白點,點選滑鼠 按 N 切換下一張影像 等所有影像標記完成後,軟體自動退出,標記結果位於 ATool/label
如果有標記錯誤的點,只需要在正確的點重新點選一次,錯誤的點即可自動刪除。
注意:一定要把標註完的標籤(json 檔案)和影像放置在一個資料夾裡。並且要保證採集的影像 的檔名裡只有一個“.”,不然標註指令碼識別匹配不出正確的 json 檔名
![fc2513d80a815813fad5d446f63e19c2](C:\文件\Tencent Files\1271418902\nt_qq\nt_data\Pic\2024-07\Ori\fc2513d80a815813fad5d446f63e19c2.png)
![2cb2c58858a6ce286d3347d561380b5f](C:\文件\Tencent Files\1271418902\nt_qq\nt_data\Pic\2024-07\Ori\2cb2c58858a6ce286d3347d561380b5f.png)
2.3資料集劃分
終端處於code/Algorithm-Lane_Detection/algorithm
目錄下
執行程式碼前,請根據下圖提示更改 code/Algorithm-Lane_Detection/algorithm/1_generate_list.py
中的路徑內容
![1931713ef32013d9ed9ac60e0924383d](C:\文件\Tencent Files\1271418902\nt_qq\nt_data\Pic\2024-07\Ori\1931713ef32013d9ed9ac60e0924383d.png)
注:沒有 hdf5 的話自己在資料夾內建立
python3 ./1_generate_list.py
#該指令碼會將資料集劃分為訓練集和驗證集,並將圖片放置於各自獨立的資料夾,分別生成檔案
列表。
2.4資料格式轉換
Caffe 中使用 LMDB 作為預設的二進位制檔案格式,但 LMDB 格式只支援單標籤的標註。而在 我們的任務中,類別標籤有兩個數字,分別為預測點的 x、y 座標。所以需要用到 HDF5,一種 支援多標籤的二進位制檔案格式,來儲存圖片和對應的座標。
終端處於 code/Algorithm-Lane_Detection/algorithm
目錄下
執行程式碼前,請根據下圖提示更改 code/Algorithm-Lane_Detection/algorithm/2_convert_hdf5.py
中的路徑內容
![a69068f28e2320c1374f420548f27fcf](C:\文件\Tencent Files\1271418902\nt_qq\nt_data\Pic\2024-07\Ori\a69068f28e2320c1374f420548f27fcf.png)
3.建立華為雲伺服器
![6c14517dc62a0752d7d5b3dca79da823](C:\文件\Tencent Files\1271418902\nt_qq\nt_data\Pic\2024-07\Ori\6c14517dc62a0752d7d5b3dca79da823.png)
![13a26870c92cfcfbe825442b721d18e3](C:\文件\Tencent Files\1271418902\nt_qq\nt_data\Pic\2024-07\Ori\13a26870c92cfcfbe825442b721d18e3.png)
![6731068eed3109519a3864110d6e811d](C:\文件\Tencent Files\1271418902\nt_qq\nt_data\Pic\2024-07\Ori\6731068eed3109519a3864110d6e811d.png)
![d165af0c5335569e7e3fba632a92820](C:\文件\WeChat Files\wxid_5myczo77l1c222\FileStorage\Temp\d165af0c5335569e7e3fba632a92820.png)
![e9031e936dc36f398df3d310d5668902](C:\文件\Tencent Files\1271418902\nt_qq\nt_data\Pic\2024-07\Ori\e9031e936dc36f398df3d310d5668902.png)
![e6534ee9ca8e53b26970f10ff797467b](C:\文件\Tencent Files\1271418902\nt_qq\nt_data\Pic\2024-07\Ori\e6534ee9ca8e53b26970f10ff797467b.png)
![4b91b1fc7b0680effa59de194933465](C:\文件\WeChat Files\wxid_5myczo77l1c222\FileStorage\Temp\4b91b1fc7b0680effa59de194933465.png)
![ba4a11ab61dbdd2e0f5b0003259f69e](C:\文件\WeChat Files\wxid_5myczo77l1c222\FileStorage\Temp\ba4a11ab61dbdd2e0f5b0003259f69e.png)
最後根據公網IP連線SSH進行遠端操作
4.配置伺服器環境
4.1配置anaconda3
cd /root
wget https://repo.anaconda.com/archive/Anaconda3-2021.11-Linux-x86_64.sh
![a1393e363ac505614b5d0085d0e4eda](C:\文件\WeChat Files\wxid_5myczo77l1c222\FileStorage\Temp\a1393e363ac505614b5d0085d0e4eda.png)
如果出現 ERROR 403:Forbidden
,則需要加入一個引數--user-agent="Mozilla"
![9be83f9c77a599d68ac706156ee6278](C:\文件\WeChat Files\wxid_5myczo77l1c222\FileStorage\Temp\9be83f9c77a599d68ac706156ee6278.png)
#修改環境變數
vim /etc/profile
#最後一行加入
export PATH=/root/anaconda3/bin:$PATH
#儲存退出
source /etc/profile
#檢視是否安裝成功
conda info
#由於華為的原因,需要額外加入這句,否則會報錯
conda config --set ssl_verify false
#建立虛擬環境
conda create -n caffe python=3.6.10
# 首次使用 source activate 命令啟用虛擬環境 caffe
source activate caffe
#進入虛擬環境
conda activate caffe
4.2安裝caffe
conda install -c defaults caffe-gpu