{"id":2096,"date":"2023-03-05T10:20:43","date_gmt":"2023-03-05T01:20:43","guid":{"rendered":"https:\/\/manvscloud.com\/?p=2096"},"modified":"2023-03-05T10:20:43","modified_gmt":"2023-03-05T01:20:43","slug":"ncloud-ncloud-pose-estimation-api%eb%a5%bc-%ed%99%9c%ec%9a%a9%ed%95%9c-%ec%9d%b4%eb%af%b8%ec%a7%80-%eb%b6%84%ec%84%9d-%eb%b0%8f-%ec%a3%bc%ec%9a%94-%ec%8b%a0%ec%b2%b4-%eb%b6%80%ec%9c%84-%ec%a2%8c","status":"publish","type":"post","link":"https:\/\/manvscloud.com\/?p=2096","title":{"rendered":"[NCLOUD] Ncloud Pose Estimation API\ub97c \ud65c\uc6a9\ud55c \uc774\ubbf8\uc9c0 \ubd84\uc11d \ubc0f \uc8fc\uc694 \uc2e0\uccb4 \ubd80\uc704 \uc88c\ud45c\ub97c \ud30c\uc545\ud574 \ubcf4\uc790"},"content":{"rendered":"\n<p>\uc548\ub155\ud558\uc138\uc694. MANVSCLOUD \uae40\uc218\ud604\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uc774\uc804 \ud3ec\uc2a4\ud305 &#8216;CLOVA Face Recognition (CFR)\uc758 \uc720\uba85\uc778 \uc5bc\uad74 \uc778\uc2dd\uc744 \ud65c\uc6a9\ud558\uc5ec \ub2ee\uc740\uaf34 \uc5f0\uc608\uc778 \ucc3e\uae30&#8217;\uc5d0 \uc774\uc5b4 \ub610 \ub2e4\ub978 AI \uc11c\ube44\uc2a4\ub97c \uc900\ube44\ud588\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uc624\ub298 \uc0ac\uc6a9\ud558\uac8c\ub420 \uc11c\ube44\uc2a4\ub294 \ub124\uc774\ubc84 \ud074\ub77c\uc6b0\ub4dc \ud50c\ub7ab\ud3fc\uc758 Ncloud Pose Estimation\uc785\ub2c8\ub2e4.<br>\uc774\ubc88 \ud3ec\uc2a4\ud305\uc744 \ud1b5\ud574 \ud574\ub2f9 \uc11c\ube44\uc2a4\ub97c \uac04\ub2e8\ud558\uac8c \uc0ac\uc6a9\ud574\ubcf4\uace0 \uc5b4\ub5bb\uac8c \ud65c\uc6a9\ud558\uba74 \uc88b\uc744\uc9c0 \uc544\uc774\ub514\uc5b4\ub97c \uc5bb\ub294 \uc2dc\uac04\uc774 \ub418\uae38 \ubc14\ub78d\ub2c8\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"has-white-color has-vivid-green-cyan-background-color has-text-color has-background wp-block-heading\"> Ncloud Pose Estimation<\/h3>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/03\/05022148\/Pose_Estimation-1024x722.png\" alt=\"\" class=\"wp-image-2101\" width=\"608\" height=\"428\" srcset=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/03\/05022148\/Pose_Estimation-1024x722.png 1024w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/03\/05022148\/Pose_Estimation-300x212.png 300w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/03\/05022148\/Pose_Estimation-768x542.png 768w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/03\/05022148\/Pose_Estimation-1080x762.png 1080w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/03\/05022148\/Pose_Estimation.png 1260w\" sizes=\"(max-width: 608px) 100vw, 608px\" \/><\/figure><\/div>\n\n\n<p>Ncloud Pose Estimation\uc740 \uc0ac\ub78c\uc758 \uc704\uce58\ub97c \ubd84\uc11d\ud558\uace0 \uc778\uc2dd\ub41c \ub300\uc0c1\uc774 \ucde8\ud558\uace0 \uc788\ub294 \uc790\uc138\ub85c\ubd80\ud130 <br>\uac01 \uc2e0\uccb4\uc758 \uc88c\ud45c\uc640 \uc815\ud655\ub3c4\ub97c \uc81c\uacf5\ud558\ub294 \ub124\uc774\ubc84 \ud074\ub77c\uc6b0\ub4dc \ud50c\ub7ab\ud3fc\uc758 AI \uc11c\ube44\uc2a4\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uc544\ub798 \uc8fc\uc694 \uc2e0\uccb4 \ubd80\uc704 18\uac1c\uc758 \uc88c\ud45c\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>\ud544\ub4dc \uc774\ub984<\/th><th>\uc124\uba85<\/th><\/tr><\/thead><tbody><tr><td>predictions[n][&#8216;0&#8217;]<\/td><td>\ucf54<\/td><\/tr><tr><td>predictions[n][&#8216;1&#8217;]<\/td><td>\ubaa9<\/td><\/tr><tr><td>predictions[n][&#8216;2&#8217;]<\/td><td>\uc624\ub978\ucabd \uc5b4\uae68<\/td><\/tr><tr><td>predictions[n][&#8216;3&#8217;]<\/td><td>\uc624\ub978\ucabd \ud314\uafc8\uce58<\/td><\/tr><tr><td>predictions[n][&#8216;4&#8217;]<\/td><td>\uc624\ub978\ucabd \uc190\ubaa9<\/td><\/tr><tr><td>predictions[n][&#8216;5&#8217;]<\/td><td>\uc67c\ucabd \uc5b4\uae68<\/td><\/tr><tr><td>predictions[n][&#8216;6&#8217;]<\/td><td>\uc67c\ucabd \ud314\uafc8\uce58<\/td><\/tr><tr><td>predictions[n][&#8216;7&#8217;]<\/td><td>\uc67c\ucabd \uc190\ubaa9<\/td><\/tr><tr><td>predictions[n][&#8216;8&#8217;]<\/td><td>\uc624\ub978\ucabd \uc5c9\ub369\uc774<\/td><\/tr><tr><td>predictions[n][&#8216;9&#8217;]<\/td><td>\uc624\ub978\ucabd \ubb34\ub98e<\/td><\/tr><tr><td>predictions[n][&#8217;10&#8217;]<\/td><td>\uc624\ub978\ucabd \ubc1c\ubaa9<\/td><\/tr><tr><td>predictions[n][&#8217;11&#8217;]<\/td><td>\uc67c\ucabd \uc5c9\ub369\uc774<\/td><\/tr><tr><td>predictions[n][&#8217;12&#8217;]<\/td><td>\uc67c\ucabd \ubb34\ub98e<\/td><\/tr><tr><td>predictions[n][&#8217;13&#8217;]<\/td><td>\uc67c\ucabd \ubc1c\ubaa9<\/td><\/tr><tr><td>predictions[n][&#8217;14&#8217;]<\/td><td>\uc624\ub978\ucabd \ub208<\/td><\/tr><tr><td>predictions[n][&#8217;15&#8217;]<\/td><td>\uc67c\ucabd \ub208<\/td><\/tr><tr><td>predictions[n][&#8217;16&#8217;]<\/td><td>\uc624\ub978\ucabd \uadc0<\/td><\/tr><tr><td>predictions[n][&#8217;17&#8217;]<\/td><td>\uc67c\ucabd \uadc0<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>\uc2e0\uccb4 \uc88c\ud45c(x,y) \uc678 \uc2e0\ub8b0\ub3c4\ub97c \ub098\ud0c0\ub0b4\ub294 \uc815\ud655\ub3c4 \uc810\uc218(score)\ub3c4 \ud568\uaed8 \uc81c\uacf5\ub418\uba70 <br>\ud3ec\uc988 \uc778\uc2dd\uc5d0 \uc0ac\uc6a9\ub418\ub294 \uc774\ubbf8\uc9c0 \ud06c\uae30\ub294 \ucd5c\ub300 300KB\uc758 \uc6a9\ub7c9\ub9cc \uc9c0\uc6d0\ub429\ub2c8\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"has-white-color has-vivid-red-background-color has-text-color has-background wp-block-heading\"> A to Z<\/h3>\n\n\n\n<p><span style=\"text-decoration: underline;\"># VPC, Server \uc0dd\uc131\uc5d0 \ub300\ud55c \uac00\uc774\ub4dc\ub294 \uc0dd\ub7b5\ud569\ub2c8\ub2e4.<\/span><br><span style=\"text-decoration: underline;\"># ACG \uc124\uc815\uc740 (Inbound) 22, 10000 \/ (Outbound) 80, 443\uc774 \ud5c8\uc6a9\ub418\uc5c8\uc2b5\ub2c8\ub2e4.<\/span><br><span style=\"text-decoration: underline;\"># Python\uc740 3.7.13 \ubc84\uc804\uc774 \uc0ac\uc6a9\ub418\uc5c8\uc2b5\ub2c8\ub2e4.<\/span><br><span style=\"text-decoration: underline;\"># \ud574\ub2f9 A to Z\ub294 Python \uac1c\ubc1c \ud658\uacbd \uad6c\uc131\uc774 \uc644\ub8cc\ub418\uc5c8\ub2e4\ub294 \uac00\uc815\ud558\uc5d0 \uc9c4\ud589\ub429\ub2c8\ub2e4.<\/span><br>    (Python \uac1c\ubc1c \ud658\uacbd \uad6c\uc131\uc5d0 \ub300\ud55c \uac00\uc774\ub4dc\uac00 \ud544\uc694\ud560 \uacbd\uc6b0 \uc544\ub798 \ub9c1\ud06c\uc5d0\uc11c <br>      <em>&#8220;3. Python \uac1c\ubc1c \ud658\uacbd \uad6c\uc131&#8221; <\/em>\ubd80\ubd84\uc744 \ucc38\uace0 \ubd80\ud0c1\ub4dc\ub9bd\ub2c8\ub2e4. )<\/p>\n\n\n<div class=\"vlp-link-container vlp-layout-basic wp-block-visual-link-preview-link\"><a href=\"https:\/\/manvscloud.com\/?p=2077\" class=\"vlp-link\" title=\"[NCLOUD] CLOVA Face Recognition (CFR)\uc758 \uc720\uba85\uc778 \uc5bc\uad74 \uc778\uc2dd\uc744 \ud65c\uc6a9\ud558\uc5ec \ub2ee\uc740\uaf34 \uc5f0\uc608\uc778 \ucc3e\uae30\" rel=\"nofollow\" target=\"_blank\"><\/a><div class=\"vlp-layout-zone-side\"><div class=\"vlp-block-2 vlp-link-image\"><img decoding=\"async\" src=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/03\/02213240\/clova_thumbnail_1200x630-1024x538.png\" style=\"max-width: 150px; max-height: 150px\" \/><\/div><\/div><div class=\"vlp-layout-zone-main\"><div class=\"vlp-block-0 vlp-link-title\">[NCLOUD] CLOVA Face Recognition (CFR)\uc758 \uc720\uba85\uc778 \uc5bc\uad74 \uc778\uc2dd\uc744 \ud65c\uc6a9\ud558\uc5ec \ub2ee\uc740\uaf34 \uc5f0\uc608\uc778 \ucc3e\uae30<\/div><div class=\"vlp-block-1 vlp-link-summary\">\uc548\ub155\ud558\uc138\uc694. MANVSCLOUD \uae40\uc218\ud604\uc785\ub2c8\ub2e4. ChatGPT \ucd9c\uc2dc \uc774\ud6c4 AI \uc5f4\ud48d\uc774 \uac00\uc18d\ud654\ub418\uace0 \ub9ce\uc740 \uc0ac\uc6a9\uc790\ub4e4\uc774 \uc778\uacf5\uc9c0\ub2a5\uc5d0 \ub300\ud55c \uad00\uc2ec\uc774 \ub298\uc5b4\ub098\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub7ec\ubbc0\ub85c \uc624\ub298\uc740 \ub124\uc774\ubc84 \ud074\ub77c\uc6b0\ub4dc\uc758 AI \uc11c\ube44\uc2a4 \uc911 \ud558\ub098\ub97c \uac00\ubccd\uac8c \uc18c\uac1c\ud558\ub294 \uae00\uacfc \ud568\uaed8 \uc7ac\ubc0c\uac8c \uc2e4\uc2b5\uae4c\uc9c0 \ud574\ubcf4\ub294 \uacfc\uc815\uc744 \uc900\ube44\ud588\uc2b5\ub2c8\ub2e4. \uc774\ubc88 \ud3ec\uc2a4\ud305\uc5d0\uc11c \uc900\ube44\ud55c \ub124\uc774\ubc84 \ud074\ub77c\uc6b0\ub4dc AI \uc11c\ube44\uc2a4\ub294 \u2018CLOVA Face Recognition (CFR)\u2019 \uc774\uba70 \ud574\ub2f9 \uc11c\ube44\uc2a4\ub97c \uc774\uc6a9\ud558\uc5ec \ub098\uc758 \uc0ac\uc9c4\uc744 \uc5c5\ub85c\ub4dc\ud558\uace0 \uc5c5\ub85c\ub4dc \ub41c \uc0ac\uc9c4\uc744 \ubd84\uc11d\ud558\uc5ec \ub2ee\uc740\uaf34 \uc5f0\uc608\uc778\uc744 \ucc3e\uc544\ubcf4\ub294 \uc2dc\uac04\uc774 \ub418\uaca0\uc2b5\ub2c8\ub2e4. CLOVA Face R\u2026<\/div><\/div><\/div>\n\n\n<p>\uc774\uc81c Ncloud Pose Estimation API\ub97c \ud65c\uc6a9\ud558\uc5ec \uc774\ubbf8\uc9c0 \ubd84\uc11d \ubc0f \uc8fc\uc694 \uc2e0\uccb4 \ubd80\uc704 \uc88c\ud45c\ub97c \ud30c\uc545\ud574\ubcf4\ub3c4\ub85d \ud569\uc2dc\ub2e4.<\/p>\n\n\n\n<p><strong>1. AI\u00b7NAVER API\uc5d0\uc11c [Application \ub4f1\ub85d]<\/strong><\/p>\n\n\n\n<p>Application \ub4f1\ub85d \ubc84\ud2bc\uc744 \ub20c\ub7ec Application \uc774\ub984\uacfc \uc0ac\uc6a9\ud560 AI Service\ub97c \uc120\ud0dd\ud569\ub2c8\ub2e4.<br>\uc774\ubc88 \uacfc\uc815\uc5d0\uc11c\ub294 Ncloud Pose Estimation\ub9cc \uc0ac\uc6a9\ud558\uba70 \ud558\ub2e8\uc5d0 \uc11c\ube44\uc2a4 \ud658\uacbd \ub4f1\ub85d\uc740 \ub530\ub85c \uc124\uc815\ud558\uc9c0 \uc54a\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"591\" src=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/03\/05032629\/ncloud_pose_estimation-1024x591.png\" alt=\"\" class=\"wp-image-2103\" srcset=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/03\/05032629\/ncloud_pose_estimation-1024x591.png 1024w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/03\/05032629\/ncloud_pose_estimation-300x173.png 300w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/03\/05032629\/ncloud_pose_estimation-768x443.png 768w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/03\/05032629\/ncloud_pose_estimation-1080x624.png 1080w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/03\/05032629\/ncloud_pose_estimation.png 1427w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><strong>2. \uc11c\ube44\uc2a4 \ub9cc\ub4e4\uae30<\/strong> (Flask + HTML + Ncloud Pose Estimation)<\/p>\n\n\n\n<p>\ub2e4\uc74c\uacfc \uac19\uc774 \uac04\ub2e8\ud55c \uad6c\uc870\ub85c \uc900\ube44\ud558\uc600\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">.\n\u251c\u2500\u2500 app.py\n\u251c\u2500\u2500 templates\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 index.html\n\u2514\u2500\u2500 test.jpg<\/pre>\n\n\n\n<p>test.jpg\ub294 \ud14c\uc2a4\ud2b8 \uc2dc \uc0ac\uc6a9\ud560 \uc774\ubbf8\uc9c0 \ud30c\uc77c\uc785\ub2c8\ub2e4.<br>\uc774\ubc88 Ncloud Pose Estimation \ud3ec\uc2a4\ud305\uc5d0\ub3c4 \uc190\ud765\ubbfc \uc774\ubbf8\uc9c0\uac00 \ud568\uaed8\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/03\/05024739\/son.jpg\" alt=\"\" class=\"wp-image-2102\" width=\"266\" height=\"354\" srcset=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/03\/05024739\/son.jpg 512w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/03\/05024739\/son-226x300.jpg 226w\" sizes=\"(max-width: 266px) 100vw, 266px\" \/><\/figure>\n\n\n\n<p><em>1) python \ud328\ud0a4\uc9c0 \uc124\uce58<\/em><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">pip install flask requests opencv-python<\/pre>\n\n\n\n<p><em>2) app.py<\/em><\/p>\n\n\n\n<p>app.py\ucf54\ub4dc\ub294 \ub2e4\uc74c\uacfc \uac19\uc774 \uc900\ube44\ud588\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<ul><li>\uc900\ube44\ub41c \uc774\ubbf8\uc9c0\ub97c Ncloud Pose Estimation API\ub85c \ubd84\uc11d\ud569\ub2c8\ub2e4. <br><\/li><li>\ubd84\uc11d\ub41c \uacb0\uacfc \uc88c\ud45c\ub97c OpenCV\ub97c \uc774\uc6a9\ud558\uc5ec \uadf8\ub824\uc90d\ub2c8\ub2e4.<br><\/li><li>0\ubd80\ud130 17\uae4c\uc9c0(\uac01 \uc2e0\uccb4 \ubd80\uc704)\uc758 \ud544\ub4dc\uac00 \ubaa8\ub450 \uc778\uc2dd\ub418\uc9c0 \uc54a\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <br>\uc989, try-except\ub97c \uc774\uc6a9\ud558\uc5ec \ube44\uc778\uc2dd \ubd80\uc704\ub85c \uc778\ud55c KeyError \ubc1c\uc0dd \uc2dc \uc608\uc678 \ucc98\ub9ac\ud558\ub3c4\ub85d \ud569\ub2c8\ub2e4.<br><\/li><li>\ud3ec\ud2b8\ub294 Default 5000 \uc5d0\uc11c 10000\uc73c\ub85c \ubcc0\uacbd\ud558\uc600\uc2b5\ub2c8\ub2e4.<\/li><\/ul>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">from flask import Flask, render_template\nimport cv2\nimport base64\nimport io\nimport os\nimport requests\nimport json\n\napp = Flask(__name__)\n\n@app.route('\/')\ndef index():\n\n    # ImageFile\n    image_file = \"test.jpg\"\n\n    #Ncloud Pose Estimation\n    client_id = os.environ['AI_CLIENT_ID']\n    client_secret = os.environ['AI_CLIENT_KEY']\n    url = \"https:\/\/naveropenapi.apigw.ntruss.com\/vision-pose\/v1\/estimate\"\n    files = {'image': (open(image_file, 'rb'))}\n    headers = {'X-NCP-APIGW-API-KEY-ID': client_id, 'X-NCP-APIGW-API-KEY': client_secret}\n    response = requests.post(url, files=files, headers=headers)\n\n    data = json.loads(response.text)\n\n    # OpenCV Show Location\n    img = cv2.imread(image_file)\n\n    w=10\n    h=10\n    img_height, img_width, _ = img.shape\n\n    # 0-17 Nose-Left Ear\n\n    for i in range(18):\n        try:\n            x = data[\"predictions\"][0][f\"{i}\"][\"x\"]\n            y = data[\"predictions\"][0][f\"{i}\"][\"y\"]\n\n            x_px = int(x * img_width)\n            y_px = int(y * img_height)\n\n            roi = img[y_px:y_px+h, x_px:x_px+w]\n            cv2.rectangle(roi, (0,0), (h-5, w-5), (0,255,0))\n\n        except KeyError:\n            continue\n\n    # Convert the OpenCV image to a Matplotlib image\n    _, img_encoded = cv2.imencode('.png', img)\n    img_base64 = base64.b64encode(img_encoded).decode('utf-8')\n\n    # Render the image in a template\n    return render_template('index.html', image=img_base64)\n\nif __name__ == '__main__':\n    app.run(host='0.0.0.0', port=10000)\n<\/pre>\n\n\n\n<p><em>3) index.html<\/em><\/p>\n\n\n\n<p>\ub2e4\uc74c\uc740 templates\/index.html \uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"html\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;!DOCTYPE html>\n&lt;html>\n&lt;head>\n    &lt;title>Flask OpenCV Example&lt;\/title>\n&lt;\/head>\n&lt;body>\n    &lt;img src=\"data:image\/png;base64,{{ image }}\" alt=\"image\">\n&lt;\/body>\n&lt;\/html><\/pre>\n\n\n\n<p><strong>3. python app.py<\/strong><\/p>\n\n\n\n<p>app.py\ub97c \uc2e4\ud589\ud558\uc5ec http:\/\/\uc11c\ubc84IP:10000\ub85c \uc811\uc18d\ud574\ubd05\uc2dc\ub2e4!<br><br><em>[\ucc38\uace0 1] \uc774\ubbf8\uc9c0 \ubd84\uc11d\uae4c\uc9c0 \ub2e4\uc18c \uc2dc\uac04\uc774 \uc18c\uc694\ub41c\ub2e4.<\/em><br><em>[\ucc38\uace0 2] \uc704 \ucf54\ub4dc\ub294 1\uc778 \ub300\uc0c1 \ubd84\uc11d\uc744 \uae30\uc900\uc73c\ub85c \ub2e8\uc21c\ud558\uac8c \uc9dc\uc5ec\uc9c4 \ucf54\ub4dc\uc774\ubbc0\ub85c<\/em><br><em>2\uba85 \uc774\uc0c1 \uc778\uc2dd\ub420 \uacbd\uc6b0 Error\uac00 \ubc1c\uc0dd\ud560 \uc218 \uc788\uc73c\ub2c8 \ud544\uc694 \uc2dc \uc6d0\ud558\ub294 \ubc29\ud5a5\uc5d0 \ub9de\uac8c \uc218\uc815\ud558\uc790!<\/em><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"has-white-color has-vivid-cyan-blue-background-color has-text-color has-background wp-block-heading\"> Result<\/h3>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/03\/05015049\/result.png\" alt=\"\" class=\"wp-image-2100\" width=\"477\" height=\"705\" srcset=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/03\/05015049\/result.png 624w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/03\/05015049\/result-203x300.png 203w\" sizes=\"(max-width: 477px) 100vw, 477px\" \/><\/figure><\/div>\n\n\n<p>\ubcf4\uc774\uc2ed\ub2c8\uae4c? \uac01 \ubd80\uc704\ubcc4\ub85c Ncloud Pose Estimation\uc774 \uc778\uc2dd\ud55c \uc2e0\uccb4 \ubd80\uc704\ub4e4\uc785\ub2c8\ub2e4.<br>\ub208, \ucf54, \uadc0, \ubaa9, \uc5b4\uae68, \ud314\uafc8\uce58, \ubb34\ub98e \ub4f1 \uc778\uc2dd\ub41c \ubd80\uc704\uc5d0 \uc88c\ud45c\uac00 \ud45c\uc2dc\ub418\uace0 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p>API\ub97c \uc774\uc6a9\ud558\uc5ec \uc704 \uc88c\ud45c\ub4e4\uc744 Json \ud615\ud0dc\ub85c \ubcf4\uac8c\ub418\uba74 \ub2e4\uc74c\uacfc \uac19\uc740 \uacb0\uacfc\ub97c \uc5bb\uc744 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">import os\nimport requests\n\nimage='test.jpg'\nclient_id = os.environ['AI_CLIENT_ID']\nclient_secret = os.environ['AI_CLIENT_KEY']\nurl = \"https:\/\/naveropenapi.apigw.ntruss.com\/vision-pose\/v1\/estimate\"\nfiles = {'image': (open(image, 'rb'))}\nheaders = {'X-NCP-APIGW-API-KEY-ID': client_id, 'X-NCP-APIGW-API-KEY': client_secret}\nresponse = requests.post(url, files=files, headers=headers)\n\nprint(response.text)<\/pre>\n\n\n\n<p><strong>&lt;Json \uacb0\uacfc&gt;<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">{\n    \"predictions\": [\n        {\n            \"0\": {\n                \"score\": 0.6248959898948669,\n                \"x\": 0.46875,\n                \"y\": 0.20294117647058824\n            },\n            \"1\": {\n                \"score\": 0.682578980922699,\n                \"x\": 0.5390625,\n                \"y\": 0.24705882352941178\n            },\n            \"2\": {\n                \"score\": 0.5946630239486694,\n                \"x\": 0.42578125,\n                \"y\": 0.2647058823529412\n            },\n            \"3\": {\n                \"score\": 0.5219699740409851,\n                \"x\": 0.33203125,\n                \"y\": 0.35\n            },\n            \"4\": {\n                \"score\": 0.5029489994049072,\n                \"x\": 0.26171875,\n                \"y\": 0.39705882352941174\n            },\n            \"5\": {\n                \"score\": 0.537896990776062,\n                \"x\": 0.6484375,\n                \"y\": 0.22941176470588234\n            },\n            \"6\": {\n                \"score\": 0.5460799932479858,\n                \"x\": 0.77734375,\n                \"y\": 0.24705882352941178\n            },\n            \"7\": {\n                \"score\": 0.46914198994636536,\n                \"x\": 0.88671875,\n                \"y\": 0.3088235294117647\n            },\n            \"8\": {\n                \"score\": 0.36182901263237,\n                \"x\": 0.5,\n                \"y\": 0.5147058823529411\n            },\n            \"9\": {\n                \"score\": 0.3729259967803955,\n                \"x\": 0.328125,\n                \"y\": 0.7\n            },\n            \"10\": {\n                \"score\": 0.6009839773178101,\n                \"x\": 0.17578125,\n                \"y\": 0.8823529411764706\n            },\n            \"11\": {\n                \"score\": 0.337242990732193,\n                \"x\": 0.66015625,\n                \"y\": 0.538235294117647\n            },\n            \"12\": {\n                \"score\": 0.5896649956703186,\n                \"x\": 0.53125,\n                \"y\": 0.6882352941176471\n            },\n            \"13\": {\n                \"score\": 0.40395501255989075,\n                \"x\": 0.296875,\n                \"y\": 0.8352941176470589\n            },\n            \"14\": {\n                \"score\": 0.6011859774589539,\n                \"x\": 0.44921875,\n                \"y\": 0.18235294117647058\n            },\n            \"15\": {\n                \"score\": 0.5642120242118835,\n                \"x\": 0.49609375,\n                \"y\": 0.18235294117647058\n            },\n            \"17\": {\n                \"score\": 0.7845849990844727,\n                \"x\": 0.55078125,\n                \"y\": 0.1676470588235294\n            }\n        }\n    ]\n}<\/pre>\n\n\n\n<p>\uac01 \uc2e0\uccb4 \ubd80\uc704\ubcc4 x,y \uc704\uce58 \uadf8\ub9ac\uace0 \uc815\ud655\ub3c4 \uc810\uc218\ub97c \ud655\uc778\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<br>\ubcf4\uc2dc\ub2e4\uc2dc\ud53c \uc704 Json \uacb0\uacfc\ub97c \ubcf4\uba74 16(\uc624\ub978\ucabd \uadc0)\uac00 \uc778\uc2dd\ub418\uc9c0 \uc54a\uc558\uc2b5\ub2c8\ub2e4. <br>(\uc774\ubbf8\uc9c0\uc5d0 \uc624\ub978\ucabd \uadc0\uac00 \ub098\uc624\uc9c0\uc54a\uc558\uae30 \ub54c\ubb38)<\/p>\n\n\n\n<p>\uc778\uc2dd\ub418\uc9c0 \uc54a\uc740 \ubd80\uc704\ub294 \uacb0\uacfc\uc5d0 \ud3ec\ud568\ub418\uc9c0 \uc54a\ub294 \uc810 \ucc38\uace0\ud560 \ud544\uc694\uac00 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"has-white-color has-cyan-bluish-gray-background-color has-text-color has-background wp-block-heading\"> Personal Comments<\/h3>\n\n\n\n<p>\uc774\uc804 \ud3ec\uc2a4\ud305\uc5d0\uc11c \ubc30\uc6b4 CLOVA Face Recognition(CFR) \uc11c\ube44\uc2a4\uc5d0 \uc774\uc5b4 Hands-On Lab \ud615\ud0dc\ub85c AI \uc11c\ube44\uc2a4\ub97c \ud558\ub098 \ub354 \ubc30\uc6cc\ubcf4\uc558\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\ud574\ub2f9 \ud3ec\uc2a4\ud305\uc744 \ud1b5\ud574 Ncloud Pose Estimation \uc11c\ube44\uc2a4\ub97c \uc5b4\ub5bb\uac8c \uc0ac\uc6a9\ud558\uba74 \uc88b\uc744\uc9c0 \uc544\uc774\ub514\uc5b4\uac00 \ub5a0\uc624\ub974\uc168\ub098\uc694?<\/p>\n\n\n\n<p>\uc800\ub294 \uc774 \uc11c\ube44\uc2a4\ub97c \ud53c\ud2b8\ub2c8\uc2a4, \uc758\ud559, \uc77c\uc0c1 \uc0dd\ud65c\uc5d0\uc11c \uc790\uc138\uad50\uc815\uc774\ub098 \uc774\uc0c1\ud589\ub3d9\uac10\uc9c0 \ub4f1 \ub2e4\uc591\ud558\uac8c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc744 \uac83\uac19\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\ub2e4\uc74c \ud3ec\uc2a4\ud305\uc740 \ub354 \ud765\ubbf8\ub85c\uc6b4 AI \ud3ec\uc2a4\ud305\uc744 \uc900\ube44\ud574\ubcf4\ub3c4\ub85d \ud558\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\uae34 \uae00 \uc77d\uc5b4\uc8fc\uc154\uc11c \uac10\uc0ac\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"773\" height=\"133\" src=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2021\/08\/12204137\/Ncloud_Master_logo.png\" alt=\"\" class=\"wp-image-1229\" srcset=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2021\/08\/12204137\/Ncloud_Master_logo.png 773w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2021\/08\/12204137\/Ncloud_Master_logo-300x52.png 300w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2021\/08\/12204137\/Ncloud_Master_logo-768x132.png 768w\" sizes=\"(max-width: 773px) 100vw, 773px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>\uc548\ub155\ud558\uc138\uc694. MANVSCLOUD \uae40\uc218\ud604\uc785\ub2c8\ub2e4. \uc774\uc804 \ud3ec\uc2a4\ud305 &#8216;CLOVA Face Recognition (CFR)\uc758 \uc720\uba85\uc778 \uc5bc\uad74 \uc778\uc2dd\uc744 \ud65c\uc6a9\ud558\uc5ec \ub2ee\uc740\uaf34 \uc5f0\uc608\uc778 \ucc3e\uae30&#8217;\uc5d0 \uc774\uc5b4 \ub610 \ub2e4\ub978 AI \uc11c\ube44\uc2a4\ub97c \uc900\ube44\ud588\uc2b5\ub2c8\ub2e4. \uc624\ub298 \uc0ac\uc6a9\ud558\uac8c\ub420 \uc11c\ube44\uc2a4\ub294 \ub124\uc774\ubc84 \ud074\ub77c\uc6b0\ub4dc \ud50c\ub7ab\ud3fc\uc758 Ncloud Pose Estimation\uc785\ub2c8\ub2e4.\uc774\ubc88 \ud3ec\uc2a4\ud305\uc744 \ud1b5\ud574 \ud574\ub2f9 \uc11c\ube44\uc2a4\ub97c \uac04\ub2e8\ud558\uac8c \uc0ac\uc6a9\ud574\ubcf4\uace0 \uc5b4\ub5bb\uac8c \ud65c\uc6a9\ud558\uba74 \uc88b\uc744\uc9c0 \uc544\uc774\ub514\uc5b4\ub97c \uc5bb\ub294 \uc2dc\uac04\uc774 \ub418\uae38 \ubc14\ub78d\ub2c8\ub2e4. Ncloud Pose Estimation Ncloud Pose Estimation\uc740 \uc0ac\ub78c\uc758 \uc704\uce58\ub97c \ubd84\uc11d\ud558\uace0 \uc778\uc2dd\ub41c \ub300\uc0c1\uc774 \ucde8\ud558\uace0 \uc788\ub294 \uc790\uc138\ub85c\ubd80\ud130 \uac01 \uc2e0\uccb4\uc758 \uc88c\ud45c\uc640 \uc815\ud655\ub3c4\ub97c \uc81c\uacf5\ud558\ub294 \ub124\uc774\ubc84 \ud074\ub77c\uc6b0\ub4dc \ud50c\ub7ab\ud3fc\uc758 AI \uc11c\ube44\uc2a4\uc785\ub2c8\ub2e4. \uc544\ub798 \uc8fc\uc694 \uc2e0\uccb4 \ubd80\uc704 18\uac1c\uc758 \uc88c\ud45c\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4. \ud544\ub4dc \uc774\ub984 \uc124\uba85 predictions[n][&#8216;0&#8217;] \ucf54 predictions[n][&#8216;1&#8217;] \ubaa9 predictions[n][&#8216;2&#8217;] \uc624\ub978\ucabd \uc5b4\uae68 predictions[n][&#8216;3&#8217;] \uc624\ub978\ucabd \ud314\uafc8\uce58 predictions[n][&#8216;4&#8217;] \uc624\ub978\ucabd \uc190\ubaa9 predictions[n][&#8216;5&#8217;] \uc67c\ucabd \uc5b4\uae68 predictions[n][&#8216;6&#8217;] \uc67c\ucabd \ud314\uafc8\uce58 predictions[n][&#8216;7&#8217;] \uc67c\ucabd \uc190\ubaa9 predictions[n][&#8216;8&#8217;] \uc624\ub978\ucabd \uc5c9\ub369\uc774 predictions[n][&#8216;9&#8217;] \uc624\ub978\ucabd \ubb34\ub98e predictions[n][&#8217;10&#8217;] \uc624\ub978\ucabd \ubc1c\ubaa9 predictions[n][&#8217;11&#8217;] \uc67c\ucabd \uc5c9\ub369\uc774 predictions[n][&#8217;12&#8217;] \uc67c\ucabd \ubb34\ub98e predictions[n][&#8217;13&#8217;] \uc67c\ucabd \ubc1c\ubaa9 predictions[n][&#8217;14&#8217;] \uc624\ub978\ucabd \ub208 predictions[n][&#8217;15&#8217;] \uc67c\ucabd \ub208 predictions[n][&#8217;16&#8217;] \uc624\ub978\ucabd \uadc0 predictions[n][&#8217;17&#8217;] \uc67c\ucabd \uadc0 \uc2e0\uccb4 \uc88c\ud45c(x,y) \uc678 \uc2e0\ub8b0\ub3c4\ub97c \ub098\ud0c0\ub0b4\ub294 \uc815\ud655\ub3c4 \uc810\uc218(score)\ub3c4 \ud568\uaed8 \uc81c\uacf5\ub418\uba70 \ud3ec\uc988 \uc778\uc2dd\uc5d0 \uc0ac\uc6a9\ub418\ub294 \uc774\ubbf8\uc9c0 \ud06c\uae30\ub294 \ucd5c\ub300 300KB\uc758 \uc6a9\ub7c9\ub9cc \uc9c0\uc6d0\ub429\ub2c8\ub2e4. A to Z # VPC, Server \uc0dd\uc131\uc5d0 \ub300\ud55c \uac00\uc774\ub4dc\ub294 \uc0dd\ub7b5\ud569\ub2c8\ub2e4.# ACG \uc124\uc815\uc740 (Inbound) 22, 10000 \/ (Outbound) 80, 443\uc774 \ud5c8\uc6a9\ub418\uc5c8\uc2b5\ub2c8\ub2e4.# Python\uc740 3.7.13 \ubc84\uc804\uc774 \uc0ac\uc6a9\ub418\uc5c8\uc2b5\ub2c8\ub2e4.# \ud574\ub2f9 A to Z\ub294 Python \uac1c\ubc1c \ud658\uacbd \uad6c\uc131\uc774 \uc644\ub8cc\ub418\uc5c8\ub2e4\ub294 \uac00\uc815\ud558\uc5d0 \uc9c4\ud589\ub429\ub2c8\ub2e4. (Python \uac1c\ubc1c \ud658\uacbd \uad6c\uc131\uc5d0 \ub300\ud55c \uac00\uc774\ub4dc\uac00 \ud544\uc694\ud560 \uacbd\uc6b0 \uc544\ub798 \ub9c1\ud06c\uc5d0\uc11c &#8220;3. Python \uac1c\ubc1c \ud658\uacbd \uad6c\uc131&#8221; \ubd80\ubd84\uc744 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"[NCLOUD] Ncloud Pose Estimation API\ub97c \ud65c\uc6a9\ud55c \uc774\ubbf8\uc9c0 \ubd84\uc11d \ubc0f \uc8fc\uc694 \uc2e0\uccb4 \ubd80\uc704 \uc88c\ud45c\ub97c \ud30c\uc545\ud574 \ubcf4\uc790","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[3],"tags":[162,249,777,770,792,32,791,87,91,17,90,784,16,794,795,126,89,202,398,793,790,786,785,789,788,787],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/manvscloud.com\/index.php?rest_route=\/wp\/v2\/posts\/2096"}],"collection":[{"href":"https:\/\/manvscloud.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/manvscloud.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/manvscloud.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/manvscloud.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2096"}],"version-history":[{"count":5,"href":"https:\/\/manvscloud.com\/index.php?rest_route=\/wp\/v2\/posts\/2096\/revisions"}],"predecessor-version":[{"id":2105,"href":"https:\/\/manvscloud.com\/index.php?rest_route=\/wp\/v2\/posts\/2096\/revisions\/2105"}],"wp:attachment":[{"href":"https:\/\/manvscloud.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2096"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/manvscloud.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2096"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/manvscloud.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2096"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}