原创 C++ 實現美顏(臉部上妝)(BeautyGAN)

在《一鍵上妝的BeautyGAN》一文中介紹了,BeautyGAN 的 實現功能:輸入兩張人臉圖片,一張無妝,一張有妝,模型輸出換妝之後的結果,即一張上妝圖和一張卸妝圖。 並在《https://github.com/Honlan/Beau

原创 C++ 實現 超分 Meta-SR

Meta-SR(任意放大倍數的超分辨率),大概意思是 :可以是非整數倍的,並且只要一個模型(就可以實現2,3,4 倍及它們之中間倍數,比如,2.3, 3.5 倍等) 在《Meta-SR--master》中提供了 一個訓練好的模型 (百度盤

原创 C++ 實現 語義分割(ade20-150類)

在 http://sceneparsing.csail.mit.edu/model/pytorch 中也有一些模型,下一個試試效果 ade20k-mobilenetv2dilated-c1_deepsup 輸入圖 5_地面_人_自行車_

原创 步長爲2的卷積 VS 步長爲1的卷積 + 間隔刪除(美顏BeautyGAN)

用以前的代碼並不能實現 python、Tensorflow 同樣的效果。 MatConvNet 和 Tensorflow 中的卷積,在步長爲2時,並且圖像長寬是偶數時,並不完全相同 比如步長爲1的一個卷積結果是這樣的: [[ 2. 0

原创 C++實現 多維轉換(torch.Transpose、permute){Meta-SR}

這裏要實現 Meta-SR 中的元放大部分中的多維操作,比如:torch.cat,torch.arange,torch.matmul,torch.Transpose,Tensor.view,Tensor.permute 等。 matmul

原创 用超分辨程序去模糊

超分辨按實現方式分兩類: 1。雙三次放大 + 網絡  = 大圖 2。       小圖     + 網絡  = 大圖 對中間部分 “網絡” 來說: 第1種 學習到了:怎樣把  模糊圖變成清晰圖。SRCNN VDSR DRCN DRRN 是

原创 C++ 實現 實例分割(Mask_RCNN-81類)

在 https://github.com/matterport/Mask_RCNN 下載《Mask_RCNN-master》,並下載訓練權重(mask_rcnn_coco.h5)。 然後安裝 Keras 2.0.8。pycocotool

原创 C++ 實現 超分 SFTGAN

SFTGAN(通過語義分割先驗恢復圖像中的真實紋理的超分辨率),大意是有些場合效果可能更好。 (https://github.com/xinntao/SFTGAN) 生成部分分兩塊: 1。8種類語義分割   2 。超分部分 主函數:

原创 Winograd卷積應用(NEON 和 SSE 對應指令)

用矩陣乘法(im2col+sgemm)的方式卷積,雖然速度很算可以,但非常費內存,不能應用大一點的圖片。 看了一些博客說到Winograd卷積,比上面的速度更快,用到內存更小,也來試試。 下載FeatherCNN 地址:http://gi

原创 C++ 實現 mobileNet分類器

在 https://github.com/shicai/MobileNet-Caffe 中有兩個模型: 1。mobilenet.caffemodel 2。mobilenet_v2.caffemodel 這裏用C++實現下 mobilene

原创 C++ 實現 語義分割 deeplab_v3

在 https://github.com/tensorflow/models/blob/master/research/deeplab/g3doc/model_zoo.md 中有許多個模型。 先下一個試試效果如何:http://downl

原创 C++實現人機對戰圍棋(使用Leela Zero權重)-自動提子

前面的需要手動提子,非常不方便,這裏再實現一個自動提子(判斷死子並在棋盤中拿走)功能。 在下圍棋時,當一個棋子落到棋盤上,它會對周圍對方棋子的死活產生影響,如果對方棋子沒有氣了(死了),必須從棋盤上拿掉(提子)。 進一步分析的話,剛落下的

原创 C++實現人機對戰圍棋(使用Leela Zero權重)-策略

策略部分就是哪個下載的權重的網絡,根據棋面黑白子狀態,輸出一些下子位置和(在該位的)勝率。 網絡輸入: Leela Zero網絡權重輸入是: ``` 1)在時間T = 0時行棋的一方 2)在時間T = -1時行棋的一方(如果T = 0

原创 C++實現人機對戰圍棋(使用Leela Zero權重)-界面

1。在《leela-zero-next》包中有一個 從人類遊戲訓練的(較弱的)網絡的權重文件(https://sjeng.org/zero/best_v1.txt.zip)(6殘差塊,128通道) 2。並在《easyx吧》百度貼吧下了一個

原创 C++運行三維人臉重建 VRN

流程:    定義數據池: 1。殘差塊 struct 殘差塊 //標準殘差塊 { BN層數據 * bn0; 層數據 * conv1; BN層數據 * bn1; 層數據 * conv2; BN層數據 * bn2; 層數據 *