# C3P2 code (revise___.py) README --- [toc] ------ ## File 相關檔案在140.114.79.162與140.114.79.176都有。兩邊的code在功能性上是一樣的,只有差在於一些參數上的不同,例如: 傳送packet的目標設為對方、傳送packet的方向設定...等。 相關檔案皆位於 - `sftp://mnetlab@140.114.79.162/home/mnetlab/yolov4/deep-sort-yolov4-0` - `sftp://lab@140.114.79.176/home/lab/yolov4/deep-sort-yolov4-0` ,以revise開頭,包含以下幾種不同的衍生以及副屬程式: - revise_distmap.py: 原版code,最開始完成的版本,可能缺少一些後續的優化。 - revise_distmap_backup.py: 就只是個備份 - revise_time.py: 加上執行時間統計的版本 - revise_time.py: 不管人物怎麼走,走到傳送區就直接傳送packet的版本,給paper當作比較的結果用 - revise_camera.py: 輸入檔案改成camera的版本,不過還是要預先給定mask - revise_socketsend.py: 模擬3camera用,基本上只有傳送packet的能力,完全沒有其他功能 - revise_left/right.py: 舊版code ---- ## command 依照下面的command執行,調整一下參數即可 ### in-code parameter - `MEC_to_IP, MEC_local_IP, port`: IP與port設定,一般不動。 - `# distance mapping map array, scale_matric`: distmap array,以及指定要使用的array,詳細問明憲。 - 人物行走方向指定: 如下code,指定人行走方向向著甚麼方向(0-90, 270-360, 也就是偏向畫面右側走)時,走道mask區域會傳送到另一台。這邊設定有兩組數據,增加flexible。 ```python= t_degree_low_1 = 0 t_degree_high_1 = 90 t_degree_low_2 = 270 t_degree_high_2 = 360 ``` ### distmap ```bash= $ cat command_distmap.txt $ python revise_distMap.py --video Video_20210331/square0331_1.MOV --min_score 0.3 --model_yolo model_data/yolov4.h5 --model_feature model_data/mars-small128.pb --output tobedelete.mp4 --mask mask_0331_square_1.jpg ``` - `--video`: input video - `--min_score 0.3, --model_yolo, --model_feature`: ML相關model,不動 - `--output`: output video,要注意的是,相關的output檔案都會用此檔名。 - `--mask`: input mask,標示出當然人物走到何處會傳送的mask,如下圖,黑色區塊極為傳送區塊。要注意的是mask的圖片長寬大小要與影片的長寬大小相同,通常會先corp 影片frame之後(revise code的`# 印出frame成圖片`地方解註解或是利用影片撥放軟體),再使用繪圖軟體上色,以確保長寬大小相同。  ### time ```bash= $ cat command_time.txt $ python revise_time.py --video 20210311Video/Execution_time/2P/20210311_2p_left.MOV --min_score 0.3 --model_yolo model_data/yolov4.h5 --model_feature model_data/mars-small128.pb --output 20210311_2p_left_track_j2.mp4 --mask mask_0311_2p_1.jpg --jump_frame 2 ``` 大致上與distmap相同,就略過相同部分 - `jump_frame`: paper比較用,不是像原先本的程式每個frame都跑,而是跳過幾個frame執行一次程式,減少處理量,增加執行效率。數字(2)代表30FPS的影片需需要跑30/2=15個frame,也就是跑一個跳一個 另外此程式會有執行時間的csv output,檔名與`--output`相同不過去掉副檔名。 ### socketdend ```bash= $ python revise_socketsend.py --input ./pk_20210311_2p_left_track/pk_20210311_2p_left_track_2_859.pk > msg.msg ``` 模擬3camera用。 在執行完第一次第1,2台camera後,在執行第2,3台camera時,使用這個程式來模擬第1台camera傳送資料。 - `--input`: 要傳送的packet,在執行第1,2台camera時會產生對應的pk file,在這裡標出即可。檔案名最後的數字(859)是原先在執行時,傳送那一刻的frame coount,所以理論上在類似的時間傳送執行就好。 - `>`: 只是個輸出重導向 --- ### code 程式內有註解,更多詳細的設定可以直接改code調整,不過建議備份一下,或是換個檔名,有問題再問我。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up