aiunivers commited on
Commit
267c79d
·
verified ·
1 Parent(s): 341df12

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -15
app.py CHANGED
@@ -1,22 +1,19 @@
1
  from PIL import Image
2
  import gradio as gr
3
 
4
- # Import OpenPose from controlnet-aux
5
- try:
6
- from controlnet_aux.open_pose import OpenposeDetector
7
- except ImportError:
8
- from controlnet_aux.openpose import OpenposeDetector # fallback
9
 
10
- # Load OpenPose model with hands and face
11
- openpose = OpenposeDetector.from_pretrained(
12
- "lllyasviel/ControlNet",
13
- hand=True,
14
- face=True
15
- )
16
 
17
- def generate_pose(image: Image.Image):
 
18
  image = image.convert("RGB")
19
- result = openpose(image)
 
 
 
20
  if not isinstance(result, Image.Image):
21
  result = Image.fromarray(result)
22
  return result
@@ -24,10 +21,13 @@ def generate_pose(image: Image.Image):
24
  # Gradio UI
25
  demo = gr.Interface(
26
  fn=generate_pose,
27
- inputs=gr.Image(type="pil", label="Upload Image"),
 
 
 
28
  outputs=gr.Image(type="pil", label="Pose Output"),
29
  title="OpenPose Pose Generator",
30
- description="Upload an image and generate a pose map with full body, face, and hand keypoints."
31
  )
32
 
33
  if __name__ == "__main__":
 
1
  from PIL import Image
2
  import gradio as gr
3
 
4
+ # ControlNet OpenPose from the exact version you used
5
+ from controlnet_aux.openpose import OpenposeDetector
 
 
 
6
 
7
+ # Load OpenPose detector (hands + face included by default in this version)
8
+ openpose = OpenposeDetector.from_pretrained("lllyasviel/ControlNet")
 
 
 
 
9
 
10
+ # Function to generate pose
11
+ def generate_pose(image: Image.Image, use_openpose: bool = True):
12
  image = image.convert("RGB")
13
+ if use_openpose:
14
+ result = openpose(image)
15
+ else:
16
+ result = image # fallback, no depth
17
  if not isinstance(result, Image.Image):
18
  result = Image.fromarray(result)
19
  return result
 
21
  # Gradio UI
22
  demo = gr.Interface(
23
  fn=generate_pose,
24
+ inputs=[
25
+ gr.Image(type="pil", label="Upload Image"),
26
+ gr.Checkbox(value=True, label="Use OpenPose (default: true)"),
27
+ ],
28
  outputs=gr.Image(type="pil", label="Pose Output"),
29
  title="OpenPose Pose Generator",
30
+ description="Upload an image and generate a pose map (body + face + hands)."
31
  )
32
 
33
  if __name__ == "__main__":