セグメンテーションと顔検出
これまでに、教師なしのスーパー画素セグメンテーションを使って、処理をより計算効率よくする方法を学びました。この演習では、まさにそれを実践します!
セグメンテーションには slic() 関数を使い、顔検出器に渡す前に画像を前処理します。
profile_image としてあらかじめ読み込まれています。Cascade クラス、segmentation モジュールの slic() 関数、可視化用の show_detected_face() 関数はすでにインポート済みです。検出器は detector として初期化され、すぐに使用できます。
この演習はコースの一部です
Pythonで学ぶ画像処理
演習の手順
- スーパー画素セグメンテーションを適用し、
slic()を使ってセグメント、いわゆる「ラベル」を取得します。 label2rgb()にsegmentsとprofile_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)