这里作者实现了一个比基于 Pillow 的 Torchvision 本身速度更快的图像增广(Agumentations),主要基于 OpenCV 实现,测评结果显示比 Torchvision 要快 1.5 – 10 倍。
系统需求
需要 OpenCV 3.4.1 版本,作者在 Windows 10 上测试通过,但未在 Linux/MacOS 上测试,因为 OpenCV 在 Linux、MacOS 上 Dataloader 里的多线程有冲突。
安装
git clone https://github.com/jbohnslav/opencv_transforms.git
使用方法
from opencv_transforms import opencv_transforms as transforms
- 然后一切都和原始的
transforms
一样。
例子: Image resizing
1 2 3 4 | <span class="pl-k">import</span> numpy <span class="pl-k">as</span> np image <span class="pl-k">=</span> np.random.randint(<span class="pl-v">low</span><span class="pl-k">=</span><span class="pl-c1">0</span>, <span class="pl-v">high</span><span class="pl-k">=</span><span class="pl-c1">255</span>, <span class="pl-v">size</span><span class="pl-k">=</span>(<span class="pl-c1">1024</span>, <span class="pl-c1">2048</span>, <span class="pl-c1">3</span>)) resize <span class="pl-k">=</span> transforms.Resize(<span class="pl-v">size</span><span class="pl-k">=</span>(<span class="pl-c1">256</span>,<span class="pl-c1">256</span>)) image <span class="pl-k">=</span> resize(image) |
性能测试
- 大多数测试能达到提速 1.5X~4X 倍,对于比较大的图像甚至能达到 10 倍。
- 测试结果是基于这个数据集: Cityscapes dataset.
项目地址
项目地址为:https://github.com/jbohnslav/opencv_transforms
本站微信群、QQ群(三群号 726282629):