1. 学ぶ
  2. /
  3. コース
  4. /
  5. Pythonで学ぶDaskによる並列プログラミング

Connected

演習

画像処理パイプライン

同僚が、Machine Learning モデルの精度を高めるために、American Sign Language(米国手話)の画像へ前処理を行う関数を書きました。この関数はグレースケール画像を入力として、Canny エッジ検出を実行します。Canny エッジ検出は古典的なコンピュータビジョンでよく使われ、画像中の物体の輪郭を強調します。これをデータセット内のすべての画像に適用したいと考えています。

同僚が書いた関数は compute_edges() という名前で環境に用意されています。入力は次元が (1, h, w) の画像で、高さ h と幅 w は任意の整数です。

画像の Dask 配列は image_array として環境にあり、形状は (N, h, w, 3) です。ここで N は画像数で、3 つのチャネルは赤・青・緑を表します。

dask.array は da としてインポート済みです。

指示

100 XP
  • 最後の次元に沿って平均を取り、カラー画像をグレースケールに変換します。
  • グレースケール画像配列の .map_blocks() メソッドを使って、各画像に compute_edges() 関数を適用します。
  • エッジ画像の 0 番目だけを選択して計算します。
  • plt.imshow() を使ってエッジを描画します。