回答編集履歴

3

d

2020/08/24 05:40

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -25,3 +25,79 @@
25
25
 
26
26
 
27
27
  いずれにしてもここでサンプルコードを出せるタスク量ではないので、参考情報として記載しておきます。
28
+
29
+
30
+
31
+ ## 追記
32
+
33
+
34
+
35
+ > 先ほどの回答のimg[y:y + faceH * 3, x:x + faceW * 6] というのはどのようなコードを書けば検出されるのでしょうか。
36
+
37
+
38
+
39
+ 例えば、以下のような感じです。
40
+
41
+
42
+
43
+ ```python
44
+
45
+ import cv2
46
+
47
+ import os
48
+
49
+
50
+
51
+ # 正面の顔を検出するカスケード分類器を作成する。
52
+
53
+ cascade_path = os.path.join(
54
+
55
+ cv2.data.haarcascades, "haarcascade_frontalface_default.xml"
56
+
57
+ )
58
+
59
+ face_cascade = cv2.CascadeClassifier(cascade_path)
60
+
61
+
62
+
63
+ # 画像を読み込む。
64
+
65
+ img = cv2.imread("sample.jpg")
66
+
67
+
68
+
69
+ # グレースケールに変換する。
70
+
71
+ gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
72
+
73
+
74
+
75
+ # 検出する。
76
+
77
+ faces = face_cascade.detectMultiScale(gray)
78
+
79
+
80
+
81
+ # 矩形を画像に描画する。
82
+
83
+ for x, y, w, h in faces:
84
+
85
+ cv2.rectangle(img, (x, y), (x + w, y + h), color=(0, 255, 0), thickness=2)
86
+
87
+
88
+
89
+ tl = x - w, y + h # 上半身の左上の座標
90
+
91
+ br = x + 2 * w, y + h * 5 # 上半身の右下の座標
92
+
93
+ cv2.rectangle(img, tl, br, color=(0, 0, 255), thickness=2)
94
+
95
+ ```
96
+
97
+
98
+
99
+ ![イメージ説明](5c272456678f9a9ce01311ef1888f22e.jpeg)
100
+
101
+
102
+
103
+ ![イメージ説明](2edb42d06a74bd7a00dfaec086b708b6.jpeg)

2

d

2020/08/24 05:39

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -24,4 +24,4 @@
24
24
 
25
25
 
26
26
 
27
- いずれにしてもぱっとここでコードを出せるタスク量ではないので、参考情報として記載しておきます。
27
+ いずれにしてもここでサンプルコードを出せるタスク量ではないので、参考情報として記載しておきます。

1

d

2020/08/24 05:06

投稿

tiitoi
tiitoi

スコア21956

test CHANGED
@@ -5,3 +5,23 @@
5
5
 
6
6
 
7
7
  人によって身長は様々なので、顔の大きさから上半身や下半身を検出するのは無理があるのではないでしょうか。
8
+
9
+
10
+
11
+ ----
12
+
13
+
14
+
15
+ OpenCV の上半身のカスケード検出器の精度で満足できないのであれば、体のパーツごとにセグメンテーションできるモデルを使うか、もしくは姿勢推定モデルで出てきたキーポイントを使うなど考えられますね。
16
+
17
+
18
+
19
+ [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)
20
+
21
+
22
+
23
+ [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)
24
+
25
+
26
+
27
+ いずれにしてもぱっとここでコードを出せるタスク量ではないので、参考情報として記載しておきます。