{"id":2077,"date":"2023-03-04T02:53:43","date_gmt":"2023-03-03T17:53:43","guid":{"rendered":"https:\/\/manvscloud.com\/?p=2077"},"modified":"2023-03-04T02:53:44","modified_gmt":"2023-03-03T17:53:44","slug":"ncloud-clova-face-recognition-cfr%ec%9d%98-%ec%9c%a0%eb%aa%85%ec%9d%b8-%ec%96%bc%ea%b5%b4-%ec%9d%b8%ec%8b%9d%ec%9d%84-%ed%99%9c%ec%9a%a9%ed%95%98%ec%97%ac-%eb%8b%ae%ec%9d%80%ea%bc%b4-%ec%97%b0","status":"publish","type":"post","link":"https:\/\/manvscloud.com\/?p=2077","title":{"rendered":"[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"},"content":{"rendered":"\n<p>\uc548\ub155\ud558\uc138\uc694. MANVSCLOUD \uae40\uc218\ud604\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<p>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.<\/p>\n\n\n\n<p>\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.<\/p>\n\n\n\n<p>\uc774\ubc88 \ud3ec\uc2a4\ud305\uc5d0\uc11c \uc900\ube44\ud55c \ub124\uc774\ubc84 \ud074\ub77c\uc6b0\ub4dc AI \uc11c\ube44\uc2a4\ub294 &#8216;<strong>CLOVA Face Recognition<\/strong> <strong>(CFR)<\/strong>&#8216; \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.<\/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\"> CLOVA Face Recognition (CFR)<\/h3>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"538\" src=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/03\/02213240\/clova_thumbnail_1200x630-1024x538.png\" alt=\"\" class=\"wp-image-2082\" srcset=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/03\/02213240\/clova_thumbnail_1200x630-1024x538.png 1024w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/03\/02213240\/clova_thumbnail_1200x630-300x158.png 300w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/03\/02213240\/clova_thumbnail_1200x630-768x403.png 768w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/03\/02213240\/clova_thumbnail_1200x630-1080x567.png 1080w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/03\/02213240\/clova_thumbnail_1200x630.png 1200w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n\n\n<p>CLOVA Face Recognition\uc740 \ube44\uc804 \ub370\uc774\ud130\ub97c \uc774\uc6a9\ud558\uc5ec \uc5bc\uad74\uc744 \uc778\uc2dd\ud558\uace0 \uad00\ub828\ub41c \ub2e4\uc591\ud55c \uc815\ubcf4\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4. \uc5ec\uae30\uc11c \ube44\uc804\uc774\ub780 Computer Vision\uc73c\ub85c \ub514\uc9c0\ud138 \uc774\ubbf8\uc9c0\uc640 \ub3d9\uc601\uc0c1 \uc18d \uc778\ubb3c\/\uc0ac\ubb3c\uc744 \uc2dd\ubcc4\ud558\ub294 \uae30\uc220\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<p>CLOVA Face Recognition\uc740 \ud06c\uac8c \ub450 \uac00\uc9c0 \uae30\ub2a5\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<p><em>1) \uc720\uba85\uc778 \uc5bc\uad74 \uc778\uc2dd<br>2) \uc5bc\uad74 \uac10\uc9c0<\/em><\/p>\n\n\n\n<p>\uc774\ub294 \ub124\uc774\ubc84\uac00 \ubcf4\uc720\ud55c \ub300\ub7c9\uc758 \uc774\ubbf8\uc9c0 DB\ub97c \ud1b5\ud574 \uc720\uba85\uc778 \uc5bc\uad74 \ubc0f \uc0ac\uc9c4 \uc911 \uc5b4\ub290 \ubd80\ubd84\uc774 \uc5bc\uad74\uc778\uc9c0 \uc9c0\uc18d\uc801\uc778 \uae30\uacc4 \ud559\uc2b5\uc744 \ud1b5\ud574 \ub9cc\ub4e4\uc5b4\uc9c4 \uc11c\ube44\uc2a4\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\ub610\ud55c CFR\uc740 REST API\ub97c \uc9c0\uc6d0\ud558\uace0 \uc788\uc5b4 \uac04\ub2e8\ud558\uac8c \uc0ac\uc6a9\uc790\uac00 \uc6d0\ud558\ub294 \uae30\ub2a5\uc744 \uad6c\ud604\ud560 \uc218 \uc788\ub3c4\ub85d \ud569\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>\uc774\ubc88 A to Z \uc5ed\uc2dc VPC, Server \uc0dd\uc131\uc5d0 \ub300\ud55c \uac00\uc774\ub4dc\ub294 \uc0dd\ub7b5\ud558\uba70 Flask\ub97c \uc0ac\uc6a9\ud560 \uac83\uc785\ub2c8\ub2e4.<br>\ub610\ud55c css\ub85c \uacb0\uacfc\ubb3c\uc744 \uafb8\ubbf8\ub294 \uacfc\uc815\uc740 \uc8fc\uc81c\uc640 \uad00\uacc4\uc5c6\uc5b4 \uc0dd\ub7b5\ud55c \uc810 \ucc38\uace0 \ubd80\ud0c1\ub4dc\ub9bd\ub2c8\ub2e4.<\/p>\n\n\n\n<p><strong>1. VPC, Server, Public IP \uc5f0\uacb0 \ubc0f ACG \uc124\uc815<\/strong><br> : ACG \uc124\uc815\uc740 (\uc778\ubc14\uc6b4\ub4dc) 22(SSH)\uc640 flask \uc6f9 \uc11c\ubc84\ub97c \uc811\uc18d\ud560 \uc218 \uc788\ub294 \ud3ec\ud2b8\ub97c \ucd94\uac00\ud574\uc90d\ub2c8\ub2e4. <br>   flask\uc758 \uae30\ubcf8 \ud3ec\ud2b8\ub294 5000\uc774\uc9c0\ub9cc \ud574\ub2f9 \uac00\uc774\ub4dc\uc5d0\uc11c\ub294 10000\uc73c\ub85c \uc124\uc815\ud558\uc600\uc2b5\ub2c8\ub2e4.<br>   \ub610\ud55c (\uc544\uc6c3\ubc14\uc6b4\ub4dc) 80, 443\uc744 \ucd94\uac00\ud569\ub2c8\ub2e4.<br><\/p>\n\n\n\n<p><strong>2. AI\u00b7NAVER API\uc5d0\uc11c [Application \ub4f1\ub85d]<\/strong><br>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 CLOVA Face Recognition (CFR)\ub9cc \uc120\ud0dd\ud558\uba74 \ub418\uba70 \ud558\ub2e8\uc5d0 \uc11c\ube44\uc2a4 \ud658\uacbd \ub4f1\ub85d\uc740 \ub530\ub85c \uc124\uc815\ud558\uc9c0 \uc54a\uc544\ub3c4 \ub429\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\/03084726\/image.png\" alt=\"\" class=\"wp-image-2088\" width=\"230\" height=\"304\" srcset=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/03\/03084726\/image.png 342w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/03\/03084726\/image-227x300.png 227w\" sizes=\"(max-width: 230px) 100vw, 230px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"991\" height=\"436\" src=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/03\/03084914\/image-1.png\" alt=\"\" class=\"wp-image-2089\" srcset=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/03\/03084914\/image-1.png 991w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/03\/03084914\/image-1-300x132.png 300w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/03\/03084914\/image-1-768x338.png 768w\" sizes=\"(max-width: 991px) 100vw, 991px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>3. Python \uac1c\ubc1c \ud658\uacbd \uad6c\uc131<\/strong><br>\ucf58\uc194\uc5d0\uc11c \ud560 \uc791\uc5c5\uc740 \uc644\ub8cc\ub418\uc5c8\uc73c\ubbc0\ub85c \uc774\uc81c \uc0dd\uc131\ub41c \uc11c\ubc84\ub85c \uc811\uc18d\ud558\uc5ec Python \uac1c\ubc1c \ud658\uacbd\uc744 \uad6c\uc131\ud574\uc904 \uac83\uc785\ub2c8\ub2e4.<\/p>\n\n\n\n<p>cfr \uacc4\uc815\uc744 \ub9cc\ub4e4\uc5b4\uc8fc\uace0 pyenv\ub97c \uc774\uc6a9\ud558\uc5ec cfr \uc0ac\uc6a9\uc790\uc758 \ud648\ub514\ub809\ud1a0\ub9ac\ub9cc python 3.7.13 \ubc84\uc804\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub3c4\ub85d \uc124\uc815\ud558\uaca0\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=\"\">[root@manvscloud-cfr-server ~]# yum install zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel git gcc openssl-devel libffi-devel wget xz-devel\n[root@manvscloud-cfr-server ~]# useradd cfr\n[root@manvscloud-cfr-server ~]# su - cfr\n[cfr@manvscloud-cfr-server ~]$ \/usr\/bin\/curl -L https:\/\/github.com\/pyenv\/pyenv-installer\/raw\/master\/bin\/pyenv-installer | \/usr\/bin\/bash\n[cfr@manvscloud-cfr-server ~]$ vi \/home\/cfr\/.bash_profile<\/pre>\n\n\n\n<p>\/home\/cfr\/.bash_profile \uc5d0\uc11c\ub294 \ucd1d 2\uac00\uc9c0\ub97c \ucd94\uac00\ud574\uc8fc\uc5b4\uc57c\ud569\ub2c8\ub2e4.<\/p>\n\n\n\n<p><em>1) pyenv \uc124\uc815 \ucd94\uac00<\/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=\"\">export PATH=\"$HOME\/.pyenv\/bin:$PATH\"\neval \"$(pyenv init -)\"\neval \"$(pyenv virtualenv-init -)\"<\/pre>\n\n\n\n<p><em>2) AI\u00b7NAVER API\uc758 Application \uc778\uc99d \ud0a4 \ucd94\uac00<\/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=\"\">export AI_CLIENT_ID=abcdefg\nexport AI_CLIENT_KEY=ABCDEFGHIJKLMNOPQRSTUVWXYZ<\/pre>\n\n\n\n<p>Application \uc778\uc99d \ud0a4\ub294 AI\u00b7NAVER API \ucf58\uc194\uc5d0\uc11c \uc0dd\uc131\ud55c Application\uc758 [\uc778\uc99d \uc815\ubcf4]\ub97c \ud074\ub9ad\ud558\uc5ec \ud655\uc778\ud560 \uc218 \uc788\uc2b5\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\/03090708\/image-2.png\" alt=\"\" class=\"wp-image-2090\" width=\"195\" height=\"84\"\/><\/figure>\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\/03090822\/image-3.png\" alt=\"\" class=\"wp-image-2091\" width=\"428\" height=\"376\" srcset=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/03\/03090822\/image-3.png 692w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/03\/03090822\/image-3-300x264.png 300w\" sizes=\"(max-width: 428px) 100vw, 428px\" \/><\/figure>\n\n\n\n<p>\/home\/cfr\/.bash_profile \uc5d0 \uc124\uc815 \uac12 \uc785\ub825 \ud6c4 \uc544\ub798 \uba85\ub839\uc5b4\ub85c \uc989\uc2dc \uc801\uc6a9 \ubc0f python \uc124\uce58\ub97c \uc9c4\ud589\ud569\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=\"\">[cfr@manvscloud-cfr-server ~]$ source \/home\/cfr\/.bash_profile\n[cfr@manvscloud-cfr-server ~]$ pyenv install 3.7.13\n[cfr@manvscloud-cfr-server ~]$ pyenv local 3.7.13\n[cfr@manvscloud-cfr-server ~]$ python --version\nPython 3.7.13<\/pre>\n\n\n\n<p><strong>4. \uc11c\ube44\uc2a4 \ub9cc\ub4e4\uae30<\/strong> (Flask + HTML + CLOVA Face Recognition (CFR))<br>\/home\/cfr\uc5d0\uc11c tree \uacb0\uacfc\uc785\ub2c8\ub2e4. (\ud544\uc694\uc5d0 \ub9de\uac8c \ud30c\uc77c, \ub514\ub809\ud1a0\ub9ac \uc0dd\uc131\ud558\uc2dc\uba74 \ub429\ub2c8\ub2e4.)<br>\ub2e4\uc74c\uacfc \uac19\uc740 \uad6c\uc870\ub85c \uac04\ub2e8\ud558\uac8c \uc11c\ube44\uc2a4\ub97c \ub9cc\ub4e4\uc5b4 \ubc30\ud3ec\ud574\ubcf4\uaca0\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\u2514\u2500\u2500 templates\n  \u00a0 \u251c\u2500\u2500 index.html\n \u00a0\u00a0 \u2514\u2500\u2500 result.html<\/pre>\n\n\n\n<p><em>1) flask \ubc0f requests \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=\"\">[cfr@manvscloud-cfr-server ~]$ pip install flask requests<\/pre>\n\n\n\n<p><em>2) app.py<\/em><br>\uc544\ub798\ub294 app.py \ucf54\ub4dc\ub85c \ud30c\uc77c \uc5c5\ub85c\ub4dc \ubc0f CLOVA Face Recognition(CFR) API\ub97c \uc774\uc6a9\ud558\uc600\uc2b5\ub2c8\ub2e4.<br>\ub610\ud55c \ud3ec\ud2b8\ub294 10000\ub85c \uc124\uc815\ud558\uc600\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 json\nimport requests\nfrom flask import Flask, render_template, request\n\napp = Flask(__name__)\n\n\n@app.route('\/', methods=['GET', 'POST'])\ndef upload_file():\n    if request.method == 'POST':\n        file = request.files['file']\n        if file:\n            filename = file.filename\n            file.save(filename)\n\n            client_id = os.environ['AI_CLIENT_ID']\n            client_secret = os.environ['AI_CLIENT_KEY']\n            url = \"https:\/\/naveropenapi.apigw.ntruss.com\/vision\/v1\/celebrity\"\n            files = {'image': open(filename, '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            data = json.loads(response.text)\n\n            value = data['faces'][0]['celebrity']['value']\n            confidence = data['faces'][0]['celebrity']['confidence']\n            confidence = confidence * 100\n            confidence = round(confidence, 2)\n\n            return render_template('result.html', value=value, confidence=confidence)\n    return render_template('index.html')\n\nif __name__ == '__main__':\n    app.run(host='0.0.0.0', port=10000)<\/pre>\n\n\n\n<p><em>3) index.html<\/em><br>\ub2e4\uc74c\uc740 templates\/index.html \uc785\ub2c8\ub2e4.<br>\uc5ec\uae30\uc11c\ub294 \uacf5\uc778IP \ubd80\ubd84\uc744 \uc9c0\uc6b0\uace0 \ubcf8\uc778\uc758 Public IP\ub85c \ubcc0\uacbd\ud574\uc8fc\uc138\uc694. <br><em>ex) http:\/\/\uacf5\uc778IP:10000 \u2192 http:\/\/111.111.111.111:10000<\/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=\"\">&lt;!DOCTYPE html>\n&lt;html lang=\"ko\">\n&lt;head>\n    &lt;meta charset=\"UTF-8\">\n    &lt;meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n    &lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    &lt;title>\ub2ee\uc740 \uc5f0\uc608\uc778 \ucc3e\uae30&lt;\/title>\n&lt;\/head>\n&lt;body>\n  &lt;form action=\"http:\/\/\uacf5\uc778IP:10000\" method=\"post\" enctype=\"multipart\/form-data\">\n  &lt;input type=\"file\" name=\"file\">\n  &lt;input type=\"submit\" value=\"Upload\">\n&lt;\/form>\n&lt;\/body>\n&lt;\/html><\/pre>\n\n\n\n<p><em>4) result.html<\/em><br>\ub9c8\uc9c0\ub9c9\uc73c\ub85c templates\/result.html \uc785\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=\"\">&lt;!DOCTYPE html>\n&lt;html lang=\"ko\">\n&lt;head>\n    &lt;meta charset=\"UTF-8\">\n    &lt;meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n    &lt;meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    &lt;title>\ub2ee\uc740 \uc5f0\uc608\uc778 \ucc3e\uae30 \uacb0\uacfc&lt;\/title>\n&lt;\/head>\n&lt;body>\n&lt;h3>\ub2f9\uc2e0\uc758 \ub2ee\uc740\uaf34 \uc5f0\uc608\uc778\uc740 {{ value }} \uc785\ub2c8\ub2e4.&lt;\/h3>\n&lt;h3>{{ confidence }} % \ud655\ub960\ub85c \uc77c\uce58\ud569\ub2c8\ub2e4.&lt;\/h3>\n&lt;\/body>\n&lt;\/html><\/pre>\n\n\n\n<p><strong>5. python app.py<\/strong><\/p>\n\n\n\n<p>\uc774\uc81c app.py\ub97c \uc2e4\ud589 \ud6c4 \uc6f9\uc5d0\uc11c http:\/\/\ubcf8\uc778IP:10000\ub85c \uc811\uc18d \uc2dc \ub2e4\uc74c\uacfc \uac19\uc740 \ud654\uba74\uc774 \ucd9c\ub825\ub429\ub2c8\ub2e4.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"401\" height=\"173\" src=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/03\/02221115\/cfr-01.png\" alt=\"\" class=\"wp-image-2085\" srcset=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/03\/02221115\/cfr-01.png 401w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/03\/02221115\/cfr-01-300x129.png 300w\" sizes=\"(max-width: 401px) 100vw, 401px\" \/><\/figure><\/div>\n\n\n<p>\uc774\uc81c [\ud30c\uc77c \uc120\ud0dd]\uc744 \ud074\ub9ad\ud558\uace0 \ubcf8\uc778\uc758 \uc0ac\uc9c4\uc744 \uc5c5\ub85c\ub4dc\ud55c \ub4a4 [Upload]\ub97c \ud074\ub9ad\ud558\uba74 result.html (\uacb0\uacfc\ucc3d)\uc73c\ub85c \ub118\uc5b4\uac00\uac8c\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-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\"><img loading=\"lazy\" decoding=\"async\" width=\"413\" height=\"220\" src=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/03\/02215215\/cfr-02.png\" alt=\"\" class=\"wp-image-2083\" srcset=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/03\/02215215\/cfr-02.png 413w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/03\/02215215\/cfr-02-300x160.png 300w\" sizes=\"(max-width: 413px) 100vw, 413px\" \/><\/figure><\/div>\n\n\n<h2 class=\"wp-block-heading\"><em>\ub124??  \uc190?&#8230; \ud765\ubbfc?<\/em><\/h2>\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\/02215241\/son.png\" alt=\"\" class=\"wp-image-2084\" width=\"269\" height=\"276\" srcset=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/03\/02215241\/son.png 491w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2023\/03\/02215241\/son-292x300.png 292w\" sizes=\"(max-width: 269px) 100vw, 269px\" \/><\/figure><\/div>\n\n\n<p>\ubb50&#8230; \uc77c\ub2e8 \uacb0\uacfc\uac00 \uadf8\ub807\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p>html\uc774 \ub2e8\uc21c\ud558\uace0 css\uac00 \uc5c6\uc5b4 \ub2e8\uc21c\ud558\uac8c \uacb0\uacfc\ub9cc \uc54c \uc218 \uc788\uc9c0\ub9cc \uac04\ub2e8\ud558\uac8c AI \uc11c\ube44\uc2a4\ub97c \ud65c\uc6a9\ud574\ubcfc \uc218 \uc788\ub294 \uc2dc\uac04\uc774\uc5c8\uc2b5\ub2c8\ub2e4.<\/p>\n\n\n\n<p>\ucd94\uac00 \uae30\ub2a5\uc744 \ub367\ubd99\uc774\uace0 \uc0b4\uc9dd \uafb8\uba70\uc900\ub2e4\uba74 \uba4b\uc9c4 \ub098\ub9cc\uc758 \uc11c\ube44\uc2a4\uac00 \ud558\ub098 \ub69d\ub531 \ub9cc\ub4e4\uc5b4\uc9c0\ub294 \uac70\uc8e0.  <\/p>\n\n\n\n<p>\ub610\ud55c \uc774\ubbf8\uc9c0\uac00 \/home\/cfr \ub514\ub809\ud1a0\ub9ac\uc5d0 \ubc14\ub85c \uc800\uc7a5\ub418\ub294\ub370 \uc774 \ubd80\ubd84\ub3c4 \uc5ec\uc720\uac00 \uc788\uc73c\uc2e0 \ubd84\ub4e4\uc740 <br>boto3\ub97c \uc124\uce58\ud558\uace0 Object Storage\uc5d0 \uc800\uc7a5\ub418\ub3c4\ub85d \ud574\ubcf4\uc2dc\uae30 \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-cyan-bluish-gray-background-color has-text-color has-background wp-block-heading\"> Personal Comments<\/h3>\n\n\n\n<p>\uc5b4\ub835\uace0 \ub525\ud55c AI \uae30\uc220 \uc5f0\uad6c\uc640 \uc0c8\ub85c\uc6b4 \uc11c\ube44\uc2a4 \uac1c\ubc1c\uc740 \ud6cc\ub96d\ud558\uc2e0 \uc11d\u00b7\ubc15\uc0ac\ub2d8\ub4e4\uc774 \ud798\ub0b4\uc8fc\uc2e4 \uac83\uc774\ub2c8 \uc800\ub294 \ub9cc\ub4e4\uc5b4\uc9c4 \uc11c\ube44\uc2a4\ub97c \uc5b4\ub5bb\uac8c \uc0ac\uc6a9\ud560 \uac83\uc778\uac00 \uace0\ubbfc\ud558\uace0 \ub2e4\uc591\ud55c \ucf00\uc774\uc2a4\ub85c \ud65c\uc6a9\ud574\ubd10\uc57c\uaca0\ub124\uc694.<\/p>\n\n\n\n<p>Recognition (CFR)\uc744 \ud65c\uc6a9\ud55c \ub2ee\uc740\uaf34 \uc5f0\uc608\uc778 \ucc3e\uae30\ub97c \ud1b5\ud574 AI\uc5d0 \uc870\uae08 \ub354 \ud765\ubbf8\uac00 \uc0dd\uae30\uc168\uae38 \ubc14\ub78d\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\/12213914\/Ncloud_Master_logo-1.png\" alt=\"\" class=\"wp-image-1234\" srcset=\"https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2021\/08\/12213914\/Ncloud_Master_logo-1.png 773w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2021\/08\/12213914\/Ncloud_Master_logo-1-300x52.png 300w, https:\/\/cdn.manvscloud.com\/wp-content\/uploads\/2021\/08\/12213914\/Ncloud_Master_logo-1-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. 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 &#8216;CLOVA Face Recognition (CFR)&#8216; \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 Recognition (CFR) CLOVA Face Recognition\uc740 \ube44\uc804 \ub370\uc774\ud130\ub97c \uc774\uc6a9\ud558\uc5ec \uc5bc\uad74\uc744 \uc778\uc2dd\ud558\uace0 \uad00\ub828\ub41c \ub2e4\uc591\ud55c \uc815\ubcf4\ub97c \uc81c\uacf5\ud569\ub2c8\ub2e4. \uc5ec\uae30\uc11c \ube44\uc804\uc774\ub780 Computer Vision\uc73c\ub85c \ub514\uc9c0\ud138 \uc774\ubbf8\uc9c0\uc640 \ub3d9\uc601\uc0c1 \uc18d \uc778\ubb3c\/\uc0ac\ubb3c\uc744 \uc2dd\ubcc4\ud558\ub294 \uae30\uc220\uc785\ub2c8\ub2e4. CLOVA Face Recognition\uc740 \ud06c\uac8c \ub450 \uac00\uc9c0 \uae30\ub2a5\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4. 1) \uc720\uba85\uc778 \uc5bc\uad74 \uc778\uc2dd2) \uc5bc\uad74 \uac10\uc9c0 \uc774\ub294 \ub124\uc774\ubc84\uac00 \ubcf4\uc720\ud55c \ub300\ub7c9\uc758 \uc774\ubbf8\uc9c0 DB\ub97c \ud1b5\ud574 \uc720\uba85\uc778 \uc5bc\uad74 \ubc0f \uc0ac\uc9c4 \uc911 \uc5b4\ub290 \ubd80\ubd84\uc774 \uc5bc\uad74\uc778\uc9c0 \uc9c0\uc18d\uc801\uc778 \uae30\uacc4 \ud559\uc2b5\uc744 \ud1b5\ud574 \ub9cc\ub4e4\uc5b4\uc9c4 \uc11c\ube44\uc2a4\uc785\ub2c8\ub2e4. \ub610\ud55c CFR\uc740 REST API\ub97c \uc9c0\uc6d0\ud558\uace0 \uc788\uc5b4 \uac04\ub2e8\ud558\uac8c \uc0ac\uc6a9\uc790\uac00 \uc6d0\ud558\ub294 \uae30\ub2a5\uc744 \uad6c\ud604\ud560 \uc218 \uc788\ub3c4\ub85d \ud569\ub2c8\ub2e4. A to Z \uc774\ubc88 A to Z \uc5ed\uc2dc VPC, Server \uc0dd\uc131\uc5d0 \ub300\ud55c \uac00\uc774\ub4dc\ub294 \uc0dd\ub7b5\ud558\uba70 Flask\ub97c \uc0ac\uc6a9\ud560 \uac83\uc785\ub2c8\ub2e4.\ub610\ud55c css\ub85c \uacb0\uacfc\ubb3c\uc744 \uafb8\ubbf8\ub294 \uacfc\uc815\uc740 \uc8fc\uc81c\uc640 \uad00\uacc4\uc5c6\uc5b4 \uc0dd\ub7b5\ud55c \uc810 \ucc38\uace0 \ubd80\ud0c1\ub4dc\ub9bd\ub2c8\ub2e4. 1. VPC, Server, Public IP \uc5f0\uacb0 \ubc0f ACG \uc124\uc815 : ACG \uc124\uc815\uc740 (\uc778\ubc14\uc6b4\ub4dc) 22(SSH)\uc640 flask \uc6f9 \uc11c\ubc84\ub97c \uc811\uc18d\ud560 \uc218 \uc788\ub294 \ud3ec\ud2b8\ub97c \ucd94\uac00\ud574\uc90d\ub2c8\ub2e4. flask\uc758 \uae30\ubcf8 \ud3ec\ud2b8\ub294 5000\uc774\uc9c0\ub9cc \ud574\ub2f9 \uac00\uc774\ub4dc\uc5d0\uc11c\ub294 10000\uc73c\ub85c \uc124\uc815\ud558\uc600\uc2b5\ub2c8\ub2e4. \ub610\ud55c (\uc544\uc6c3\ubc14\uc6b4\ub4dc) 80, 443\uc744 \ucd94\uac00\ud569\ub2c8\ub2e4. 2. AI\u00b7NAVER [&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] 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","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[3],"tags":[162,249,777,771,779,772,775,778,770,32,87,91,17,90,16,126,776,89,202,398,780,782,783,773,781],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/manvscloud.com\/index.php?rest_route=\/wp\/v2\/posts\/2077"}],"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=2077"}],"version-history":[{"count":7,"href":"https:\/\/manvscloud.com\/index.php?rest_route=\/wp\/v2\/posts\/2077\/revisions"}],"predecessor-version":[{"id":2092,"href":"https:\/\/manvscloud.com\/index.php?rest_route=\/wp\/v2\/posts\/2077\/revisions\/2092"}],"wp:attachment":[{"href":"https:\/\/manvscloud.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2077"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/manvscloud.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2077"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/manvscloud.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2077"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}