2019年3月2日 星期六

C# WebRequest的cache問題



今天在 RMT Processing 程式中發現一個很大的問題: 如果透過手機/平板/電腦當路由器(例如分享4G網路)時, 手機/平板/電腦可能有類似proxy的功能, 對下載的檔案產生cache, 在C#中如果使用 WebRequest 物件, 會受到這個影響而無法即時更新下載資料, 這問題在一般普通的網路設備 (Hub/Switch...) 並不會發生這個問題, 所以之前都沒有發現到有這個問題.

幸好這可以在程式中指定不要用cache跟系統指定的proxy, 只要在產生WebRequest物件後設定cache為
NoCacheNoStore, proxy設定為null即可:


WebRequest req = WebRequest.Create(imageUrl);
req.CachePolicy = new System.Net.Cache.RequestCachePolicy(System.Net.Cache.RequestCacheLevel.NoCacheNoStore); req.Proxy = null;

2019年2月14日 星期四

Dependency Walker

最近寫 CUDA 程式, 做Wrapper給C#呼叫,在自己電腦上可以執行的程式, 整包複製到其他電腦上, 卻無法執行, 原來是牽涉到DLL的相依性,自己寫的DLL還會呼叫其他DLL, 以及版本問題,  發現這個 Dependency Walker 好用工具, 可以找出缺了甚麼檔案, 才把問題解決.


2019年1月27日 星期日

2018年12月12日 星期三

keras-yolo3 連接 ipcam 進行物件辨識


接續前一篇 keras-yolo3 測試 ,這篇說明如何連接具有 onvif 協定之 ipcam.

要連接 ipcam 首先要找到連接的 uri,如果手冊沒有,可以先下載 ONVIF Device Manager,先用瀏覽器登入 ipcam 後找到 port 設定,然後手動方式將 ipcam 網址加入 ONVIF Device Manager 的裝置列表,輸入帳號密碼,然後手動連線,點選中間欄位的 Live Video, 影像串流就會顯示在右方窗格,下方即可看到 uri, 例如:

2018年12月9日 星期日

keras-yolo3 測試

YOLO (You Only Look Once) 是關於物件偵測的類神經網路演算法,作者 Joseph Redmon 以 darknet 架構實作,輕量、依賴少、演算法高效率,在工業應用領域很有價值,例如行人偵測、工業影像偵測等等。官網寫的非常詳盡,照著操作便能完成 Yolo 初步的 detection 和 training這裡只測試另一款使用 keras 架構實作的 keras-yolo3 的操作步驟。