teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

d

2020/08/24 05:40

投稿

tiitoi
tiitoi

スコア21960

answer CHANGED
@@ -11,4 +11,42 @@
11
11
 
12
12
  [microsoft/human-pose-estimation.pytorch: The project is an official implement of our ECCV2018 paper "Simple Baselines for Human Pose Estimation and Tracking](https://github.com/microsoft/human-pose-estimation.pytorch)
13
13
 
14
- いずれにしてもここでサンプルコードを出せるタスク量ではないので、参考情報として記載しておきます。
14
+ いずれにしてもここでサンプルコードを出せるタスク量ではないので、参考情報として記載しておきます。
15
+
16
+ ## 追記
17
+
18
+ > 先ほどの回答のimg[y:y + faceH * 3, x:x + faceW * 6] というのはどのようなコードを書けば検出されるのでしょうか。
19
+
20
+ 例えば、以下のような感じです。
21
+
22
+ ```python
23
+ import cv2
24
+ import os
25
+
26
+ # 正面の顔を検出するカスケード分類器を作成する。
27
+ cascade_path = os.path.join(
28
+ cv2.data.haarcascades, "haarcascade_frontalface_default.xml"
29
+ )
30
+ face_cascade = cv2.CascadeClassifier(cascade_path)
31
+
32
+ # 画像を読み込む。
33
+ img = cv2.imread("sample.jpg")
34
+
35
+ # グレースケールに変換する。
36
+ gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
37
+
38
+ # 検出する。
39
+ faces = face_cascade.detectMultiScale(gray)
40
+
41
+ # 矩形を画像に描画する。
42
+ for x, y, w, h in faces:
43
+ cv2.rectangle(img, (x, y), (x + w, y + h), color=(0, 255, 0), thickness=2)
44
+
45
+ tl = x - w, y + h # 上半身の左上の座標
46
+ br = x + 2 * w, y + h * 5 # 上半身の右下の座標
47
+ cv2.rectangle(img, tl, br, color=(0, 0, 255), thickness=2)
48
+ ```
49
+
50
+ ![イメージ説明](5c272456678f9a9ce01311ef1888f22e.jpeg)
51
+
52
+ ![イメージ説明](2edb42d06a74bd7a00dfaec086b708b6.jpeg)

2

d

2020/08/24 05:39

投稿

tiitoi
tiitoi

スコア21960

answer CHANGED
@@ -11,4 +11,4 @@
11
11
 
12
12
  [microsoft/human-pose-estimation.pytorch: The project is an official implement of our ECCV2018 paper "Simple Baselines for Human Pose Estimation and Tracking](https://github.com/microsoft/human-pose-estimation.pytorch)
13
13
 
14
- いずれにしてもぱっとここでコードを出せるタスク量ではないので、参考情報として記載しておきます。
14
+ いずれにしてもここでサンプルコードを出せるタスク量ではないので、参考情報として記載しておきます。

1

d

2020/08/24 05:06

投稿

tiitoi
tiitoi

スコア21960

answer CHANGED
@@ -1,4 +1,14 @@
1
1
  > 顔検出で検出された顔のサイズの幅を何倍、高さを何倍にして、
2
2
  上半身や下半身を領域抽出することは可能なのでしょうか。
3
3
 
4
- 人によって身長は様々なので、顔の大きさから上半身や下半身を検出するのは無理があるのではないでしょうか。
4
+ 人によって身長は様々なので、顔の大きさから上半身や下半身を検出するのは無理があるのではないでしょうか。
5
+
6
+ ----
7
+
8
+ OpenCV の上半身のカスケード検出器の精度で満足できないのであれば、体のパーツごとにセグメンテーションできるモデルを使うか、もしくは姿勢推定モデルで出てきたキーポイントを使うなど考えられますね。
9
+
10
+ [kevinlin311tw/CDCL-human-part-segmentation: Repository for Paper: Cross-Domain Complementary Learning Using Pose for Multi-Person Part Segmentation (TCSVT20)](https://github.com/kevinlin311tw/CDCL-human-part-segmentation)
11
+
12
+ [microsoft/human-pose-estimation.pytorch: The project is an official implement of our ECCV2018 paper "Simple Baselines for Human Pose Estimation and Tracking](https://github.com/microsoft/human-pose-estimation.pytorch)
13
+
14
+ いずれにしてもぱっとここでコードを出せるタスク量ではないので、参考情報として記載しておきます。