始める無料で始める

セグメンテーションと顔検出

これまでに、教師なしのスーパー画素セグメンテーションを使って、処理をより計算効率よくする方法を学びました。この演習では、まさにそれを実践します!

セグメンテーションには slic() 関数を使い、顔検出器に渡す前に画像を前処理します。

Young woman selfie
画像は profile_image としてあらかじめ読み込まれています。

Cascade クラス、segmentation モジュールの slic() 関数、可視化用の show_detected_face() 関数はすでにインポート済みです。検出器は detector として初期化され、すぐに使用できます。

この演習はコースの一部です

Pythonで学ぶ画像処理

コースを見る

演習の手順

  • スーパー画素セグメンテーションを適用し、slic() を使ってセグメント、いわゆる「ラベル」を取得します。
  • label2rgb()segmentsprofile_image を渡して、セグメント化された画像を作成します。
  • マルチスケール方式を用いて detector で顔を検出します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Obtain the segmentation with default 100 regions
segments = ____

# Obtain segmented image using label2rgb
segmented_image = ____(____, ____, kind='avg')

# Detect the faces with multi scale method
detected = detector.____(img=____, 
                                       scale_factor=1.2, 
                                       step_ratio=1, 
                                       min_size=(10, 10), max_size=(1000, 1000))

# Show the detected faces
show_detected_face(segmented_image, detected)
コードを編集して実行