Microsoft Custom Vision model 輸出至Tensorflow

aha (Cheng-Yu Lin)
2 min readOct 15, 2018

--

主要是因為這個工具在2018/2/27即將要下線轉換成正式版,但2018/2/26偏偏又需要這個遠端服務使用,很擔心要是提早GG,那活動也就爆炸了.所幸他剛好有多推出一個功能是可以輸出成tensorflow的model.pb與labels.txt,也因此就開始研究這個服務.

現在在特定的建模模式下,有一個Export可以輸出成iOS可用的CoreML或者是Android可用的Tensorflow.這次就是透過Tensorflow Model進行.

但根據微軟的範本他只提供Android的版本,所以如果像我是需要Python來執行的話,那就必須要改寫他的Android版本,基本上改寫也不是什麼太大的問題,只是對於TF不是很熟的我,就必須要每一個函式慢慢對應過去,其中有幾個參數要特別注意的.

平均值,建模使用的長寬(227,227),標準差 1

但其實與其看他的Android版本,還不如看C#版本,其中ImageUtil.cs可以看到很多相關改寫的資訊.例如圖像的預處理,裡面就提到是參考tensorflow的範本,所以很多程式碼就不一定要自己處理完,可以從中拿到不少複製本.

不過整體來說,最需要改寫的地方在於,如何從影像讀取numpy.array與處理成輸入需要的 (227,227,3) 格式,這需要考慮到是否要裁減與平移處理,還有針對人像要做頭像提取等圖像預處理.

雖然總覺得好像如果用對了NN的手法,應該這些工作都不用做得那麼複雜,自己建立一個應該就可以了,但這個就當作後話吧.

--

--

aha (Cheng-Yu Lin)

Passionate about reading, gaming, and travel. Using AI to connect the physical & virtual worlds, I enjoy sharing ideas with others. Let's connect!