(已開源)5行代碼,快速實現圖像分割,逐行詳解,手誘教你處理圖像 [PixelLib]
(已開源)5行代碼,快速實現圖像分割,逐行詳解,手誘教你處理圖像 [PixelLib]
資料來源:https://mp.weixin.qq.com/s/WCrwVMnwtyZ96oUeBti4Ew
文字摘要:
安裝最新版本的 TensorFlow、Pillow、OpenCV-Python、scikit-image 和 PixelLib:
pip3 install tensorflow pip3 install pillow pip3 install opencv-python pip3 install scikit-image pip3 install pixellib
PixelLib 實現需求分區
import pixellib from pixellib.semantic import semantic_segmentation segment_image = semantic_segmentation() segment_image.load_pascalvoc_model(“deeplabv3_xception_tf_dim_ordering_tf_kernels.h5”) segment_image.segmentAsPascalvoc(“path_to_image”, output_image_name = “path_to_output_image”)
實戰!(圖片文件命名為:sample1.jpg)
import pixellib from pixellib.semantic import semantic_segmentation segment_image = semantic_segmentation() segment_image.load_pascalvoc_model(“deeplabv3_xception_tf_dim_ordering_tf_kernels.h5”) segment_image.segmentAsPascalvoc(“sample1.jpg”, output_image_name = “image_new.jpg”)
可以通過修改下面的代碼,來檢查執行分割的推理時間
import pixellib from pixellib.semantic import semantic_segmentation import time segment_image = semantic_segmentation() segment_image.load_pascalvoc_model(“pascal.h5”) start = time.time() segment_image.segmentAsPascalvoc(“sample1.jpg”, output_image_name= “image_new.jpg”) end = time.time() print(f”Inference Time: {end-start:.2f}seconds”)
PixelLib在執行實例分割時,基於的框架是Mask RCNN,代碼如下:
import pixellib from pixellib.instance import instance_segmentation segment_image = instance_segmentation() segment_image.load_model(“mask_rcnn_coco.h5”) segment_image.segmentImage(“path_to_image”, output_image_name = “output_image_path”)
上圖,實戰第二彈!
import pixellib from pixellib.instance import instance_segmentation segment_image = instance_segmentation() segment_image.load_model(“mask_rcnn_coco.h5”) segment_image.segmentImage(“sample2.jpg”, output_image_name = “image_new.jpg”)
也可以通過同樣的代碼查詢實例片段的推理時間:
import pixellib from pixellib.instance import instance_segmentation import time segment_image = instance_segmentation() segment_image.load_model(“mask_rcnn_coco.h5”) start = time.time() segment_image.segmentImage(“former.jpg”, output_image_name= “image_new.jpg”) end = time.time() print(f”Inference Time: {end-start:.2f}seconds”)
完整圖文