๊ฐ๋ ฅํ ๋ธ๋ผ์ฐ์ ๊ธฐ๋ฐ ์ปดํจํฐ ๋น์ ๋๊ตฌ์ธ ํ๋ก ํธ์๋ Shape Detection API๋ฅผ ํ์ํ์ธ์. ์ ์ธ๊ณ์ ๋ค์ํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํด ์ค์๊ฐ์ผ๋ก ๋ํ์ ๊ฐ์งํ๊ณ ๋ถ์ํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ฐ์ธ์.
ํ๋ก ํธ์๋ Shape Detection API์ ํ์ ๋ฐํํ๋ค: ์ปดํจํฐ ๋น์ ์ ๋ธ๋ผ์ฐ์ ๋ก ๊ฐ์ ธ์ค๊ธฐ
์ ์ ๋ ์๊ฐ์ ์ด๊ณ ์ธํฐ๋ํฐ๋ธํด์ง๋ ์ค๋๋ ์ ๋์งํธ ํ๊ฒฝ์์, ์น ๋ธ๋ผ์ฐ์ ๋ด์์ ์ง์ ๋ฌผ๋ฆฌ์ ์ธ๊ณ๋ฅผ ์ดํดํ๊ณ ๋ฐ์ํ๋ ๋ฅ๋ ฅ์ ๊ฒ์ ์ฒด์ธ์ ๊ฐ ๋๊ณ ์์ต๋๋ค. ์ฌ์ฉ์์ ํ๊ฒฝ์ ์๋ ๊ฐ์ฒด๋ฅผ ์๋ณํ๊ณ , ์๊ฐ์ ์ ๋ ฅ์ ๊ธฐ๋ฐ์ผ๋ก ์ค์๊ฐ ํผ๋๋ฐฑ์ ์ ๊ณตํ๊ฑฐ๋, ์ง๋ฅ์ ์ธ ์๊ฐ ๋ถ์์ ํตํด ์ ๊ทผ์ฑ์ ํฅ์์ํค๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ํด ๋ณด์ธ์. ์ด๋ ๋ ์ด์ ์ ๋ฌธ ๋ฐ์คํฌํฑ ์ ํ๋ฆฌ์ผ์ด์ ์ด๋ ๋ณต์กํ ์๋ฒ ์ธก ์ฒ๋ฆฌ์ ์์ญ์ด ์๋๋๋ค. ์๋กญ๊ฒ ๋ฑ์ฅํ ํ๋ก ํธ์๋ Shape Detection API ๋๋ถ์, ์ด์ ๊ฐ๋ ฅํ ์ปดํจํฐ ๋น์ ๊ธฐ๋ฅ์ ๋ธ๋ผ์ฐ์ ์์ ์ง์ ์ฌ์ฉํ ์ ์๊ฒ ๋์ด ์น ๊ฐ๋ฐ์์ ์ฌ์ฉ์ ๋ชจ๋์๊ฒ ์๋ก์ด ๊ฐ๋ฅ์ฑ์ ์ธ๊ณ๋ฅผ ์ด์ด์ฃผ๊ณ ์์ต๋๋ค.
ํ๋ก ํธ์๋ Shape Detection API๋ ๋ฌด์์ธ๊ฐ?
ํ๋ก ํธ์๋ Shape Detection API๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ฃผ๋ก ์ฌ์ฉ์์ ์นด๋ฉ๋ผ๋ฅผ ํตํด ์บก์ฒ๋๊ฑฐ๋ ์ ๋ก๋๋ ์ด๋ฏธ์ง์์ ์๊ฐ์ ๋ฐ์ดํฐ์ ์ค์๊ฐ ๋ถ์์ ์ํํ ์ ์๋๋ก ํ๋ ๋ธ๋ผ์ฐ์ ๊ธฐ๋ฐ ๊ธฐ๋ฅ๋ค์ ์งํฉ์ ๋๋ค. ํต์ฌ์ ์ผ๋ก, ์ด API๋ ์ด๋ฏธ์ง๋ ๋น๋์ค ์คํธ๋ฆผ ๋ด์์ ํน์ ๋ํ์ ์๋ณ๊ณผ ์์น ํ์ ์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค. ์ด API๋ ๋ชจ๋ฐ์ผ ๋ฐ ์น ํ๊ฒฝ์ ์ต์ ํ๋ ๊ณ ๊ธ ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ ํ์ฉํ์ฌ ์ด ๊ฐ์ง๋ฅผ ํจ์จ์ ์ด๊ณ ์ ํํ๊ฒ ์ํํฉ๋๋ค.
"๋ํ ๊ฐ์ง"๋ผ๋ ์ฉ์ด๊ฐ ํน์ ํ๊ฒ ๋ค๋ฆด ์ ์์ง๋ง, ๊ทธ ๊ธฐ๋ฐ ๊ธฐ์ ์ ๋ ๊ด๋ฒ์ํ ์ปดํจํฐ ๋น์ ์์ ์ ๊ธฐ๋ณธ ์์์ ๋๋ค. ๋ค์ํ ๋ํ์ ๊ฒฝ๊ณ์ ํน์ง์ ์ ํํ๊ฒ ์๋ณํจ์ผ๋ก์จ, ๊ฐ๋ฐ์๋ ๋ค์๊ณผ ๊ฐ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ ์ ์์ต๋๋ค:
- ์ผ๋ฐ์ ์ธ ๊ธฐํํ์ ํํ ์ธ์ (์, ์ง์ฌ๊ฐํ, ์ ์ฌ๊ฐํ, ํ์).
- ๋ ๋ณต์กํ ๊ฐ์ฒด ์ค๊ณฝ์ ๊ฐ์ง๋ฅผ ๋ ๋์ ์ ๋ฐ๋๋ก ์ํ.
- ๊ฐ์ง๋ ๋ํ์ ์์ง์๊ณผ ๋ณํ ์ถ์ .
- ์ด๋ฌํ ๋ํ์ ํฌ๊ธฐ, ๋ฐฉํฅ, ์์น์ ๊ด๋ จ๋ ์ ๋ณด ์ถ์ถ.
์ด ๊ธฐ๋ฅ์ ๋จ์ํ ์ด๋ฏธ์ง ํ์๋ฅผ ๋์ด, ๋ธ๋ผ์ฐ์ ๊ฐ ์๊ฐ์ ์ดํด์ ์ ๊ทน์ ์ผ๋ก ์ฐธ์ฌํ๋ ์ฐธ์ฌ์๊ฐ ๋๋๋ก ํ๋ฉฐ, ์ด๋ ์น ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ด ์๋นํ ๋์ฝ์ ๋๋ค.
๋ธ๋ผ์ฐ์ ์์์ ์ปดํจํฐ ๋น์ ์งํ
์ญ์ฌ์ ์ผ๋ก ์ ๊ตํ ์ปดํจํฐ ๋น์ ์์ ์ ๊ฐ๋ ฅํ ์๋ฒ๋ ์ ์ฉ ํ๋์จ์ด์ ๊ตญํ๋์์ต๋๋ค. ๋ถ์์ ์ํ ์ด๋ฏธ์ง ๋ฐ ๋น๋์ค ์ฒ๋ฆฌ์๋ ์๋นํ ๊ณ์ฐ ๋ฆฌ์์ค๊ฐ ํ์ํ์ผ๋ฉฐ, ์ข ์ข ํด๋ผ์ฐ๋ ์๋น์ค์ ์ ๋ก๋ํ๋ ๊ณผ์ ์ด ํฌํจ๋์์ต๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ๋ช ๊ฐ์ง ๊ณผ์ ๋ฅผ ์ ์ํ์ต๋๋ค:
- ์ง์ฐ ์๊ฐ(Latency): ์ ๋ก๋, ์ฒ๋ฆฌ ๋ฐ ๊ฒฐ๊ณผ ์์ ์ ์ํ ์๋ณต ์๊ฐ์ ๋์ ๋๋ ์ง์ฐ์ ์ ๋ฐํ์ฌ ์ค์๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํฅ์ ์ค ์ ์์ต๋๋ค.
- ๋น์ฉ: ์๋ฒ ์ธก ์ฒ๋ฆฌ ๋ฐ ํด๋ผ์ฐ๋ ์๋น์ค๋ ์ง์์ ์ธ ์ด์ ๋น์ฉ์ ๋ฐ์์์ผฐ์ต๋๋ค.
- ๊ฐ์ธ์ ๋ณด ๋ณดํธ: ์ฌ์ฉ์๋ ๋ฏผ๊ฐํ ์๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ธ๋ถ ์๋ฒ์ ์ ๋ก๋ํ๋ ๊ฒ์ ์ฃผ์ ํ ์ ์์ต๋๋ค.
- ์คํ๋ผ์ธ ๊ธฐ๋ฅ: ์๋ฒ ์ฐ๊ฒฐ์ ๋ํ ์์กด์ฑ์ ์คํ๋ผ์ธ ๋๋ ์ ๋์ญํญ ํ๊ฒฝ์์ ๊ธฐ๋ฅ์ ์ ํํ์ต๋๋ค.
WebAssembly์ ์ถํ๊ณผ ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ ๋ฐ์ ์ ๋ธ๋ผ์ฐ์ ๋ด์์ ๋ ๋ณต์กํ ๊ณ์ฐ์ ์ํ ๊ธธ์ ์ด์์ต๋๋ค. TensorFlow.js ๋ฐ OpenCV.js์ ๊ฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ํด๋ผ์ด์ธํธ ์ธก์์ ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ ์คํํ ์ ์๋ ์ ์ฌ๋ ฅ์ ๋ณด์ฌ์ฃผ์์ต๋๋ค. ํ๋ก ํธ์๋ Shape Detection API๋ ์ด ๊ธฐ๋ฐ ์์ ๊ตฌ์ถ๋์ด, ๊ฐ๋ฐ์๊ฐ ๋ณต์กํ ๋ชจ๋ธ ๋ฐฐํฌ๋ ์ ์์ค ๊ทธ๋ํฝ ์ฒ๋ฆฌ๋ฅผ ๊ด๋ฆฌํ ํ์ ์์ด ํน์ ์ปดํจํฐ ๋น์ ๊ธฐ๋ฅ์ ๊ตฌํํ ์ ์๋ ๋ณด๋ค ํ์คํ๋๊ณ ์ ๊ทผํ๊ธฐ ์ฌ์ด ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค.
์ฃผ์ ํน์ง ๋ฐ ๊ธฐ๋ฅ
ํ๋ก ํธ์๋ Shape Detection API๋ ์์ง ๋ฐ์ ์ค์ด์ง๋ง, ๋ค์๊ณผ ๊ฐ์ ๋งค๋ ฅ์ ์ธ ๊ธฐ๋ฅ๋ค์ ์ ๊ณตํฉ๋๋ค:
1. ์ค์๊ฐ ๊ฐ์ง
๊ฐ์ฅ ์ค์ํ ์ฅ์ ์ค ํ๋๋ ์ฌ์ฉ์ ์นด๋ฉ๋ผ์ ์ค์๊ฐ ๋น๋์ค ์คํธ๋ฆผ์์ ๊ฐ์ง๋ฅผ ์ํํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค. ์ด๋ ์ฆ๊ฐ์ ์ธ ํผ๋๋ฐฑ๊ณผ ์ธํฐ๋ํฐ๋ธํ ๊ฒฝํ์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ ํ๋ฆฌ์ผ์ด์ ์ ์นด๋ฉ๋ผ ๋ทฐ์ ๋ค์ด์ค๋ ๊ฐ์ง๋ ๊ฐ์ฒด๋ฅผ ๊ฐ์กฐ ํ์ํ์ฌ ๋์ ์ด๊ณ ๋งค๋ ฅ์ ์ธ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ ์ ์์ต๋๋ค.
2. ํฌ๋ก์ค ํ๋ซํผ ํธํ์ฑ
๋ธ๋ผ์ฐ์ API๋ก์ Shape Detection API๋ ํฌ๋ก์ค ํ๋ซํผ ํธํ์ฑ์ ๋ชฉํ๋ก ํฉ๋๋ค. ์ด๋ ์ด API๋ฅผ ํ์ฉํ๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ธ๋ผ์ฐ์ ๊ฐ API๋ฅผ ์ง์ํ๋ ํ ๋ค์ํ ์ด์ ์ฒด์ (Windows, macOS, Linux, Android, iOS) ๋ฐ ์ฅ์น์์ ์ผ๊ด๋๊ฒ ์๋ํด์ผ ํจ์ ์๋ฏธํฉ๋๋ค.
3. ์ฌ์ฉ์ ๊ฐ์ธ์ ๋ณด ๋ณดํธ ๋ฐ ๋ฐ์ดํฐ ์ ์ด
์ฒ๋ฆฌ๊ฐ ์ฌ์ฉ์ ๋ธ๋ผ์ฐ์ ๋ด์์ ์ง์ ๋ฐ์ํ๋ฏ๋ก, ๋ฏผ๊ฐํ ์๊ฐ์ ๋ฐ์ดํฐ(์นด๋ฉ๋ผ ํผ๋ ๋ฑ)๋ฅผ ๋ถ์์ ์ํด ์ธ๋ถ ์๋ฒ๋ก ๋ณด๋ผ ํ์๊ฐ ์์ต๋๋ค. ์ด๋ ์ฌ์ฉ์ ๊ฐ์ธ์ ๋ณด ๋ณดํธ ๋ฐ ๋ฐ์ดํฐ ๋ณด์์ ํฌ๊ฒ ํฅ์์ํค๋ฉฐ, ์ค๋๋ ์ ๋ฐ์ดํฐ์ ๋ฏผ๊ฐํ ์ธ๊ณ์์ ์ค์ํ ๊ณ ๋ ค ์ฌํญ์ ๋๋ค.
4. ์์ฌ์ด ํตํฉ
์ด API๋ ์๋ฐ์คํฌ๋ฆฝํธ์ ๊ฐ์ ํ์ค ์น ๊ธฐ์ ์ ์ฌ์ฉํ์ฌ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ํตํฉ๋๋๋ก ์ค๊ณ๋์์ต๋๋ค. ์ด๋ ์น ๊ฐ๋ฐ์ ์ต์ํ ๊ฐ๋ฐ์๋ค์ ์ง์ ์ฅ๋ฒฝ์ ๋ฎ์ถ์ด, ๋จธ์ ๋ฌ๋ ์์ง๋์ด๋ง์ ๋ํ ๊ด๋ฒ์ํ ๋ฐฐ๊ฒฝ ์ง์ ์์ด๋ ์ปดํจํฐ ๋น์ ์ ํ์ฉํ ์ ์๊ฒ ํฉ๋๋ค.
5. ์ฌ์ ํ๋ จ๋ ๋ชจ๋ธ์ ํตํ ํ์ฅ์ฑ
์ด API๊ฐ ์ผ๋ฐ์ ์ธ ๋ํ์ ๊ฐ์งํ๋ ๋ด์ฅ ๊ธฐ๋ฅ์ ์ ๊ณตํ ์๋ ์์ง๋ง, ๊ทธ ์ง์ ํ ํ์ ์ข ์ข ์ฌ์ ํ๋ จ๋ ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ๊ณผ ํจ๊ป ์๋ํ๋ ๋ฅ๋ ฅ์ ์์ต๋๋ค. ๊ฐ๋ฐ์๋ ํน์ ๊ฐ์ฒด ์ธ์ ์์ (์: ์ผ๊ตด, ์ ๋๋ ํน์ ์ ํ ์ ํ ๊ฐ์ง)์ ์ํด ํ๋ จ๋ ๋ชจ๋ธ์ ํตํฉํ์ฌ API์ ๊ธฐ๋ฅ์ ๊ธฐ๋ณธ์ ์ธ ๊ธฐํํ์ ๋ํ์ ๋์ด ํ์ฅํ ์ ์์ต๋๋ค.
์๋ ๋ฐฉ์์? ๊ธฐ์ ์ ๊ฐ์
ํ๋ก ํธ์๋ Shape Detection API๋ ์ผ๋ฐ์ ์ผ๋ก ๋ค๋ฅธ ๊ฐ์ง๊ธฐ์ ๋ํ ์ ๊ทผ์ ์ ๊ณตํ๋ ShapeDetection ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌํ๋ฉ๋๋ค.
1. ์นด๋ฉ๋ผ ํผ๋ ์ ๊ทผ
๋๋ถ๋ถ์ ์ค์๊ฐ ์ ํ๋ฆฌ์ผ์ด์
์์ ์ฒซ ๋ฒ์งธ ๋จ๊ณ๋ ์ฌ์ฉ์์ ์นด๋ฉ๋ผ์ ์ ๊ทผํ๋ ๊ฒ์
๋๋ค. ์ด๋ ์ผ๋ฐ์ ์ผ๋ก ์นด๋ฉ๋ผ ์ ๊ทผ ๊ถํ์ ์์ฒญํ๊ณ MediaStream์ ๋ฐํํ๋ navigator.mediaDevices.getUserMedia() API๋ฅผ ์ฌ์ฉํ์ฌ ์ํ๋ฉ๋๋ค. ์ด ์คํธ๋ฆผ์ ์ผ๋ฐ์ ์ผ๋ก HTML <video> ์์์ ๋ ๋๋ง๋ฉ๋๋ค.
async function startCamera() {
try {
const stream = await navigator.mediaDevices.getUserMedia({ video: true });
const videoElement = document.getElementById('video');
videoElement.srcObject = stream;
videoElement.play();
} catch (err) {
console.error("Error accessing camera:", err);
}
}
2. ๊ฐ์ง๊ธฐ ์์ฑ
Shape Detection API๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ๋ฐ์๊ฐ ํน์ ๊ฐ์ง๊ธฐ์ ์ธ์คํด์ค๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์ผ๊ตด์ ๊ฐ์งํ๊ธฐ ์ํด FaceDetector๋ฅผ ์ธ์คํด์คํํ ์ ์์ต๋๋ค:
const faceDetector = new FaceDetector();
๋ง์ฐฌ๊ฐ์ง๋ก, API์ ์ฌ์ ๋ฐ ๋ธ๋ผ์ฐ์ ์ง์์ ๋ฐ๋ผ ๋ค๋ฅธ ์ ํ์ ๋ํ์ด๋ ๊ฐ์ฒด๋ฅผ ์ํ ๋ค๋ฅธ ๊ฐ์ง๊ธฐ๊ฐ ์์ ์ ์์ต๋๋ค.
3. ๊ฐ์ง ์ํ
๊ฐ์ง๊ธฐ๊ฐ ์์ฑ๋๋ฉด ์ด๋ฏธ์ง๋ ๋น๋์ค ํ๋ ์์ ์ฒ๋ฆฌํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ค์๊ฐ ์ ํ๋ฆฌ์ผ์ด์
์ ๊ฒฝ์ฐ, ์ด๋ ๋น๋์ค ์คํธ๋ฆผ์์ ํ๋ ์์ ์บก์ฒํ์ฌ ๊ฐ์ง๊ธฐ์ detect() ๋ฉ์๋์ ์ ๋ฌํ๋ ๊ฒ์ ํฌํจํฉ๋๋ค.
async function detectShapes() {
const videoElement = document.getElementById('video');
const canvas = document.getElementById('canvas');
const context = canvas.getContext('2d');
// Ensure video is playing before attempting detection
if (videoElement.readyState === 4) {
// Draw the current video frame onto a canvas
canvas.width = videoElement.videoWidth;
canvas.height = videoElement.videoHeight;
context.drawImage(videoElement, 0, 0, canvas.width, canvas.height);
// Create a Blob from the canvas content to pass to the detector
canvas.toBlob(async (blob) => {
if (blob) {
const imageBitmap = await createImageBitmap(blob);
const faces = await faceDetector.detect(imageBitmap);
// Process the detected faces (e.g., draw bounding boxes)
faces.forEach(face => {
context.strokeStyle = 'red';
context.lineWidth = 2;
context.strokeRect(face.boundingBox.x, face.boundingBox.y, face.boundingBox.width, face.boundingBox.height);
});
}
}, 'image/jpeg');
}
// Request the next frame for detection
requestAnimationFrame(detectShapes);
}
// Start camera and then begin detection
startCamera().then(detectShapes);
detect() ๋ฉ์๋๋ ๊ฐ์ง๋ ๊ฐ์ฒด์ ๋ฐฐ์ด๋ก ํด๊ฒฐ๋๋ ํ๋ก๋ฏธ์ค(promise)๋ฅผ ๋ฐํํ๋ฉฐ, ๊ฐ ๊ฐ์ฒด๋ ๊ฒฝ๊ณ ์์(์ขํ, ๋๋น, ๋์ด) ๋ฐ ์ ์ฌ์ ์ผ๋ก ๋ค๋ฅธ ๋ฉํ๋ฐ์ดํฐ์ ๊ฐ์ ์ ๋ณด๋ฅผ ํฌํจํฉ๋๋ค.
4. ๊ฒฐ๊ณผ ํ์
๊ฐ์ง๋ ๋ํ ์ ๋ณด๋ ์ข
์ข
๊ฒฝ๊ณ ์์๋ก ํ์๋๋ฉฐ, ๋น๋์ค ํผ๋ ์์ ์ค๋ฒ๋ ์ด๋ HTML <canvas> ์์์ ๊ทธ๋ ค์ ธ ์ฌ์ฉ์์๊ฒ ์๊ฐ์ ํผ๋๋ฐฑ์ ์ ๊ณตํ ์ ์์ต๋๋ค.
์ ์ธ๊ณ์ ์ค์ ์ฌ์ฉ ์ฌ๋ก
ํ๋ก ํธ์๋ Shape Detection API๋ ํนํ ๊ณ ๊ธ ๊ฐ์ฒด ์ธ์ ๋ชจ๋ธ๊ณผ ๊ฒฐํฉ๋ ๋, ์ ์ธ๊ณ ์ฌ์ฉ์์ ๊ธฐ์ ์ ๊ด๋ จ๋ ๊ด๋ฒ์ํ ์ค์ ์์ฉ ํ๋ก๊ทธ๋จ์ ์ ๊ณตํฉ๋๋ค:
1. ํฅ์๋ ์ฌ์ฉ์ ์ธํฐํ์ด์ค ๋ฐ ์ํธ์์ฉ์ฑ
์ธํฐ๋ํฐ๋ธ ์ ํ ์นดํ๋ก๊ทธ: ์ฌ์ฉ์๊ฐ ์ง ์์ ๊ฐ๊ตฌ์ ํด๋ํฐ ์นด๋ฉ๋ผ๋ฅผ ๋น์ถ๋ฉด, ์น ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ฆ์ ์ด๋ฅผ ์ธ์ํ์ฌ ์ธ๋ถ ์ ๋ณด, ๊ฐ๊ฒฉ ๋ฐ ๊ณต๊ฐ์ ์ด๋ป๊ฒ ๋ณด์ผ์ง์ ๋ํ ์ฆ๊ฐ ํ์ค ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ๋ณด์ฌ์ฃผ๋ ๊ฒ์ ์์ํด ๋ณด์ธ์. ์ด๋ ์จ๋ผ์ธ ๋ธ๋ผ์ฐ์ง๊ณผ ๋ฌผ๋ฆฌ์ ์ํธ์์ฉ ์ฌ์ด์ ๊ฒฉ์ฐจ๋ฅผ ์ค์ด๊ณ ์ ํ๋ ์ ์์๊ฑฐ๋ ํ๋ซํผ์ ๋งค์ฐ ์ค์ํฉ๋๋ค.
๊ฒ์ ๋ฐ ์ํฐํ ์ธ๋จผํธ: ์น ๊ธฐ๋ฐ ๊ฒ์์ ์์ด๋ ์ ์ฒด ์ถ์ ์ ์ฌ์ฉํ์ฌ ๊ฒ์ ์บ๋ฆญํฐ๋ฅผ ์ ์ดํ๊ฑฐ๋ ๊ฐ์ ์์์ ์ํธ์์ฉํ์ฌ, ์น์บ ์ธ์ ์ ์ฉ ํ๋์จ์ด ์์ด๋ ๋ ๋ชฐ์ ๊ฐ ์๋ ๊ฒฝํ์ ๋ง๋ค ์ ์์ต๋๋ค. ํ๋ ์ด์ด๊ฐ ์์ ์์ง์ฌ ์ฅ์ ๋ฌผ์ ํต๊ณผํ๋ ์บ๋ฆญํฐ๋ฅผ ์๋ดํ๋ ๊ฐ๋จํ ๋ธ๋ผ์ฐ์ ๊ฒ์์ ์๊ฐํด ๋ณด์ธ์.
2. ์ ๊ทผ์ฑ ๊ธฐ๋ฅ
์๊ฐ ์ฅ์ ์ธ์ ์ํ ์๊ฐ์ ์ง์: ์ฌ์ฉ์ ํ๊ฒฝ์ ์๋ ๋ํ๊ณผ ๊ฐ์ฒด๋ฅผ ์ค๋ช ํ์ฌ ์ค์๊ฐ ์ค๋์ค ์๋ด๋ฅผ ์ ๊ณตํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์๊ฐ ์ฅ์ ์ธ ์ฌ์ฉ์๋ ํด๋ํฐ์ ์ฌ์ฉํ์ฌ ํฌ์ฅ ์์์ ๋ชจ์์ด๋ ์ถ์ ๊ตฌ์ ์กด์ฌ๋ฅผ ์๋ณํ ์ ์์ผ๋ฉฐ, ์ฑ์ ์์ฑ ์ ํธ๋ฅผ ์ ๊ณตํฉ๋๋ค.
์ํ ์ธ์: ๋ณต์กํ์ง๋ง, ๋๋ ทํ ์ ๋ชจ์๊ณผ ์์ง์์ ํฌํจํ๋ ๊ธฐ๋ณธ์ ์ธ ์ํ ์ ์ค์ฒ๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํด ์ธ์๋ ์ ์์ด, ์ฒญ๊ฐ ์ฅ์ ๊ฐ ์๊ฑฐ๋ ๋์ฒญ์ด ์๋ ๊ฐ์ธ๋ค์ ์์ฌ์ํต๊ณผ ํ์ต์ ์ด์งํ ์ ์์ต๋๋ค.
3. ๊ต์ก ๋ฐ ํ๋ จ
์ธํฐ๋ํฐ๋ธ ํ์ต ๋๊ตฌ: ๊ต์ก ์น์ฌ์ดํธ๋ ํ์๋ค์ด ์ํ ์์ ์ ๊ธฐํํ์ ๋ํ์์๋ถํฐ ๊ณผํ ์คํ์ ๊ตฌ์ฑ ์์์ ์ด๋ฅด๊ธฐ๊น์ง ์ฃผ๋ณ ํ๊ฒฝ์์ ๋ํ์ ์๋ณํ๋ ๋งค๋ ฅ์ ์ธ ๊ฒฝํ์ ๋ง๋ค ์ ์์ต๋๋ค. ์ฑ์ ํ์์ด ๊ทธ๋ฆผ์์ ์ผ๊ฐํ์ ์ฐพ๊ฑฐ๋ ๋ฐฉ์์ ์ํ ๊ฐ์ฒด๋ฅผ ์ฐพ์ ์๋ณํ๋๋ก ์๋ดํ ์ ์์ต๋๋ค.
๊ธฐ์ ํ๋ จ: ์ง์ ํ๋ จ์์ ์ฌ์ฉ์๋ ๊ธฐ๊ณ์ ํน์ ๋ถํ์ด๋ ๊ตฌ์ฑ ์์๋ฅผ ์๋ณํ๋ ์ฐ์ต์ ํ ์ ์์ต๋๋ค. ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ทธ ๋ชจ์์ ๊ฐ์งํ์ฌ ์ฌ๋ฐ๋ฅธ ๋ถํ์ ์ฐพ์ ํ์ธํ๋๋ก ์๋ดํ๊ณ , ์ ํ๋์ ๋ํ ์ฆ๊ฐ์ ์ธ ํผ๋๋ฐฑ์ ์ ๊ณตํ ์ ์์ต๋๋ค.
4. ์ฐ์ ๋ฐ ์์ ์ฉ ์ ํ๋ฆฌ์ผ์ด์
ํ์ง ๊ด๋ฆฌ: ์ ์กฐ ํ์ฌ๋ ๋ถํ์ ์๊ฐ์ ๊ฒ์ฌ๋ฅผ ์ํ ์น ๋๊ตฌ๋ฅผ ๊ฐ๋ฐํ ์ ์์ผ๋ฉฐ, ์์ ์๋ ์นด๋ฉ๋ผ๋ฅผ ์ฌ์ฉํ์ฌ ์ ํ์ ์ค์บํ๊ณ ๋ธ๋ผ์ฐ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ ๋ชจ์๊ณผ์ ํธ์ฐจ๋ฅผ ๊ฐ์กฐ ํ์ํ๊ฑฐ๋ ์ด์์ ๊ฐ์งํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ ์กฐ๋ ๋ณผํธ๊ฐ ์ฌ๋ฐ๋ฅธ ์ก๊ฐํ ๋จธ๋ฆฌ ๋ชจ์์ ๊ฐ์ง๊ณ ์๋์ง ํ์ธํ๋ ๊ฒ์ ๋๋ค.
์ฌ๊ณ ๊ด๋ฆฌ: ์๋งค์ ์ด๋ ์ฐฝ๊ณ ์ ์์ ์ง์๋ค์ ํ๋ธ๋ฆฟ์ ์น ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ์ฉํ์ฌ ์ ๋ฐ์ ์ค์บํ ์ ์์ผ๋ฉฐ, ์์คํ ์ ์ฌ๊ณ ์กฐ์ฌ ๋ฐ ์ฌ์ฃผ๋ฌธ ํ๋ก์ธ์ค๋ฅผ ๋๊ธฐ ์ํด ์ ํ ํฌ์ฅ ๋ชจ์์ ์๋ณํฉ๋๋ค.
5. ์ฆ๊ฐ ํ์ค ๊ฒฝํ
๋ง์ปค๋ฆฌ์ค AR: ๋ ์ง๋ณด๋ AR์ ์ข ์ข ์ ์ฉ SDK์ ์์กดํ์ง๋ง, ๊ธฐ๋ณธ์ ์ธ AR ๊ฒฝํ์ ๋ํ ๊ฐ์ง๋ฅผ ํตํด ํฅ์๋ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ๊ฐ์ง๋ ํ๋ฉด์ ๊ฐ์ ๊ฐ์ฒด๋ฅผ ๋ฐฐ์นํ๊ฑฐ๋ ์ค์ ๊ฐ์ฒด์ ๊ฐ์ฅ์๋ฆฌ์ ๊ฐ์ ์์๋ฅผ ์ ๋ ฌํ๋ ๊ฒ์ ๋๋ค.
๊ณผ์ ๋ฐ ๊ณ ๋ ค ์ฌํญ
์ ์ฌ๋ ฅ์๋ ๋ถ๊ตฌํ๊ณ , ํ๋ก ํธ์๋ Shape Detection API๋ ๊ฐ๋ฐ์๊ฐ ์ธ์งํด์ผ ํ ๊ณผ์ ๋ค๋ ์ ์ํฉ๋๋ค:
1. ๋ธ๋ผ์ฐ์ ์ง์ ๋ฐ ํ์คํ
๋น๊ต์ ์๋ก์ด API๋ก์, ๋ธ๋ผ์ฐ์ ์ง์์ด ๋จํธ์ ์ผ ์ ์์ต๋๋ค. ๊ฐ๋ฐ์๋ ๋์ ๋ธ๋ผ์ฐ์ ์ ๋ฐ์ ํธํ์ฑ์ ํ์ธํ๊ณ , ์ด๋ฅผ ์ง์ํ์ง ์๋ ๊ตฌํ ๋ธ๋ผ์ฐ์ ๋ ํ๊ฒฝ์ ๋ํ ๋์ฒด ๋ฉ์ปค๋์ฆ์ ๊ณ ๋ คํด์ผ ํฉ๋๋ค. ๊ธฐ๋ฐ ๋ชจ๋ธ๊ณผ ๊ทธ ์ฑ๋ฅ ๋ํ ๋ธ๋ผ์ฐ์ ๊ตฌํ๋ง๋ค ๋ค๋ฅผ ์ ์์ต๋๋ค.
2. ์ฑ๋ฅ ์ต์ ํ
๋ธ๋ผ์ฐ์ ๊ธฐ๋ฐ์์๋ ๋ถ๊ตฌํ๊ณ , ์ปดํจํฐ ๋น์ ์์ ์ ์ฌ์ ํ ๊ณ์ฐ ์ง์ฝ์ ์ ๋๋ค. ์ฑ๋ฅ์ ์ฅ์น์ ์ฒ๋ฆฌ ๋ฅ๋ ฅ, ๊ฐ์ง ๋ชจ๋ธ์ ๋ณต์ก์ฑ ๋ฐ ์ ๋ ฅ ๋น๋์ค ์คํธ๋ฆผ์ ํด์๋์ ์ํด ์ํฅ์ ๋ฐ์ ์ ์์ต๋๋ค. ์ํํ ์ฌ์ฉ์ ๊ฒฝํ์ ์ํด์๋ ์บก์ฒ ๋ฐ ์ฒ๋ฆฌ ํ์ดํ๋ผ์ธ์ ์ต์ ํํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
3. ์ ํ๋ ๋ฐ ๊ฒฌ๊ณ ์ฑ
๋ํ ๊ฐ์ง์ ์ ํ๋๋ ์กฐ๋ช ์กฐ๊ฑด, ์ด๋ฏธ์ง ํ์ง, ํ์(๊ฐ์ฒด๊ฐ ๋ถ๋ถ์ ์ผ๋ก ๊ฐ๋ ค์ง), ๊ฐ์ง๋ ๋ํ๊ณผ ๊ด๋ จ ์๋ ๋ฐฐ๊ฒฝ ์์์ ์ ์ฌ์ฑ ๋ฑ ๋ค์ํ ์์ธ์ ์ํด ์ํฅ์ ๋ฐ์ ์ ์์ต๋๋ค. ๊ฐ๋ฐ์๋ ์ด๋ฌํ ๋ณ์๋ฅผ ๊ณ ๋ คํ๊ณ ์ ์ฌ์ ์ผ๋ก ๋ ๊ฒฌ๊ณ ํ ๋ชจ๋ธ์ด๋ ์ ์ฒ๋ฆฌ ๊ธฐ์ ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
4. ๋ชจ๋ธ ๊ด๋ฆฌ
API๊ฐ ํตํฉ์ ๋จ์ํํ์ง๋ง, ํน์ ์์ ์ ์ํด ์ฌ์ ํ๋ จ๋ ๋ชจ๋ธ์ ์ ํ, ๋ก๋ ๋ฐ ์ ์ฌ์ ์ผ๋ก ๋ฏธ์ธ ์กฐ์ ํ๋ ๋ฐฉ๋ฒ์ ์ดํดํ๋ ๊ฒ์ ์ฌ์ ํ ์ค์ํฉ๋๋ค. ๋ชจ๋ธ ํฌ๊ธฐ๋ฅผ ๊ด๋ฆฌํ๊ณ ํจ์จ์ ์ธ ๋ก๋ฉ์ ๋ณด์ฅํ๋ ๊ฒ์ด ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ํต์ฌ์ ๋๋ค.
5. ์ฌ์ฉ์ ๊ถํ ๋ฐ ๊ฒฝํ
์นด๋ฉ๋ผ์ ์ ๊ทผํ๋ ค๋ฉด ๋ช ์์ ์ธ ์ฌ์ฉ์ ๊ถํ์ด ํ์ํฉ๋๋ค. ๋ช ํํ๊ณ ์ง๊ด์ ์ธ ๊ถํ ์์ฒญ์ ์ค๊ณํ๋ ๊ฒ์ด ํ์์ ์ ๋๋ค. ๋ํ, ๊ฐ์ง ๊ณผ์ ์ค์ ์๊ฐ์ ํผ๋๋ฐฑ(์: ๋ก๋ฉ ํ์๊ธฐ, ๋ช ํํ ๊ฒฝ๊ณ ์์)์ ์ ๊ณตํ๋ฉด ์ฌ์ฉ์ ๊ฒฝํ์ด ํฅ์๋ฉ๋๋ค.
๊ฐ๋ฐ์๋ฅผ ์ํ ๋ชจ๋ฒ ์ฌ๋ก
ํ๋ก ํธ์๋ Shape Detection API๋ฅผ ํจ๊ณผ์ ์ผ๋ก ํ์ฉํ๋ ค๋ฉด, ๋ค์์ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ๊ณ ๋ คํ์ญ์์ค:
- ์ ์ง์ ํฅ์: ์ ํ๋ฆฌ์ผ์ด์ ์ ํต์ฌ ๊ธฐ๋ฅ์ด API ์์ด๋ ์๋ํ๋๋ก ์ค๊ณํ ๋ค์, ์ง์๋๋ ๊ฒฝ์ฐ ๋ํ ๊ฐ์ง๋ก ๊ธฐ๋ฅ์ ํฅ์์ํค์ธ์.
- ๊ธฐ๋ฅ ๊ฐ์ง: ์ฌ์ฉ์์ ๋ธ๋ผ์ฐ์ ์์ ํ์ํ API ๊ธฐ๋ฅ์ ์ฌ์ฉํ๊ธฐ ์ ์ ํญ์ ์ฌ์ฉ ๊ฐ๋ฅํ์ง ํ์ธํ์ธ์.
- ์ ๋ ฅ ์ต์ ํ: ์ฑ๋ฅ ๋ฌธ์ ๊ฐ ์๋ ๊ฒฝ์ฐ, ๊ฐ์ง๊ธฐ์ ์ ๋ฌํ๊ธฐ ์ ์ ๋น๋์ค ํ๋ ์์ ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ๊ฑฐ๋ ๋ค์ด์ํ๋งํ์ธ์. ๋ค์ํ ํด์๋๋ก ์คํํด ๋ณด์ธ์.
- ํ๋ ์ ์๋ ์ ์ด: ๋ถํ์ํ ๊ฒฝ์ฐ ๋น๋์ค ์คํธ๋ฆผ์ ๋ชจ๋ ํ๋ ์์ ์ฒ๋ฆฌํ์ง ๋ง์ธ์. ์๋ต์ฑ๊ณผ ์ฑ๋ฅ์ ๊ท ํ์ ๋ง์ถ๊ธฐ ์ํด ์ ์ด๋ ์๋(์: ์ด๋น 10-15 ํ๋ ์)๋ก ํ๋ ์์ ์ฒ๋ฆฌํ๋ ๋ก์ง์ ๊ตฌํํ์ธ์.
- ๋ช ํํ ํผ๋๋ฐฑ: ๋ฌด์์ด ์ด๋์์ ๊ฐ์ง๋๊ณ ์๋์ง์ ๋ํด ์ฌ์ฉ์์๊ฒ ์ฆ๊ฐ์ ์ธ ์๊ฐ์ ํผ๋๋ฐฑ์ ์ ๊ณตํ์ธ์. ๊ฒฝ๊ณ ์์์ ๋ํด ๋๋ ทํ ์์๊ณผ ์คํ์ผ์ ์ฌ์ฉํ์ธ์.
- ์ค๋ฅ๋ฅผ ์ฐ์ํ๊ฒ ์ฒ๋ฆฌํ๊ธฐ: ์นด๋ฉ๋ผ ์ ๊ทผ, ๊ฐ์ง ์คํจ ๋ฐ ์ง์๋์ง ์๋ ๊ธฐ๋ฅ์ ๋ํ ๊ฒฌ๊ณ ํ ์ค๋ฅ ์ฒ๋ฆฌ๋ฅผ ๊ตฌํํ์ธ์.
- ํน์ ์์ ์ ์ง์คํ๊ธฐ: ๊ฐ๋ฅํ ๋ชจ๋ ๋ํ์ ๊ฐ์งํ๋ ค๊ณ ์๋ํ๋ ๋์ , ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ชฉ์ ๊ณผ ๊ด๋ จ๋ ํน์ ๋ํ์ ๊ฐ์งํ๋ ๋ฐ ์ง์คํ์ธ์. ์ด๋ ์ข ์ข ์ ๋ฌธํ๋ ์ฌ์ ํ๋ จ๋ ๋ชจ๋ธ์ ํ์ฉํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
- ์ฌ์ฉ์ ๊ฐ์ธ์ ๋ณด ์ฐ์ : ์นด๋ฉ๋ผ ์ฌ์ฉ ๋ฐ ๋ฐ์ดํฐ ์ฒ๋ฆฌ์ ๋ํด ์ฌ์ฉ์์๊ฒ ํฌ๋ช ํ๊ฒ ์๋ฆฌ์ธ์. ์นด๋ฉ๋ผ ์ ๊ทผ์ด ํ์ํ ์ด์ ๋ฅผ ๋ช ํํ๊ฒ ์ค๋ช ํ์ธ์.
๋ธ๋ผ์ฐ์ ๊ธฐ๋ฐ ์ปดํจํฐ ๋น์ ์ ๋ฏธ๋
ํ๋ก ํธ์๋ Shape Detection API๋ ์ ๊ตํ AI ๋ฐ ์ปดํจํฐ ๋น์ ๊ธฐ๋ฅ์ ์น์์ ๋ ์ฝ๊ฒ ์ ๊ทผํ๊ณ ๋ณดํธํํ๋ ๋ฐ ์์ด ์ค์ํ ๋จ๊ณ์ ๋๋ค. ๋ธ๋ผ์ฐ์ ์์ง์ด ๊ณ์ ์งํํ๊ณ ์๋ก์ด API๊ฐ ๋์ ๋จ์ ๋ฐ๋ผ, ๋ธ๋ผ์ฐ์ ๋ด์์ ์ง์ ์๊ฐ์ ๋ถ์์ ์ํ ํจ์ฌ ๋ ๊ฐ๋ ฅํ ๋๊ตฌ๋ฅผ ๊ธฐ๋ํ ์ ์์ต๋๋ค.
๋ฏธ๋์ ๋ฐ์ ์๋ ๋ค์์ด ํฌํจ๋ ์ ์์ต๋๋ค:
- ๋ ์ ๋ฌธํ๋ ๊ฐ์ง๊ธฐ: ์, ์ ์ฒด ๋๋ ํ ์คํธ์ ๊ฐ์ ํน์ ๊ฐ์ฒด๋ฅผ ๊ฐ์งํ๊ธฐ ์ํ API๊ฐ ํ์ค์ด ๋ ์ ์์ต๋๋ค.
- ํฅ์๋ ๋ชจ๋ธ ํตํฉ: ๋ธ๋ผ์ฐ์ ํ๊ฒฝ ๋ด์์ ์ง์ ์ฌ์ฉ์ ์ง์ ๋๋ ์ต์ ํ๋ ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ ๋ก๋ํ๊ณ ๊ด๋ฆฌํ๋ ๋ ์ฌ์ด ๋ฐฉ๋ฒ.
- API ๊ฐ ํตํฉ: ๊ฐ์ง๋ ๊ฐ์ฒด์ ๊ณ ๊ธ ๋ ๋๋ง์ ์ํ WebGL์ด๋ ์๊ฐ์ ๋ถ์์ ํตํ ์ค์๊ฐ ํต์ ์ ์ํ WebRTC์ ๊ฐ์ ๋ค๋ฅธ ์น API์์ ์ํํ ํตํฉ.
- ํ๋์จ์ด ๊ฐ์: ๋ธ๋ผ์ฐ์ ๋ด์์ ์ง์ ๋ ๋น ๋ฅด๊ณ ํจ์จ์ ์ธ ์ด๋ฏธ์ง ์ฒ๋ฆฌ๋ฅผ ์ํ GPU ๊ธฐ๋ฅ์ ํ์ฉ๋ ์ฆ๋.
์ด๋ฌํ ๊ธฐ์ ์ด ์ฑ์ํจ์ ๋ฐ๋ผ, ๋ค์ดํฐ๋ธ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ฌ์ด์ ๊ฒฝ๊ณ๋ ๊ณ์ํด์ ํ๋ ค์ง ๊ฒ์ด๋ฉฐ, ๋ธ๋ผ์ฐ์ ๋ ๋ณต์กํ๊ณ ์๊ฐ์ ์ผ๋ก ์ง๋ฅ์ ์ธ ๊ฒฝํ์ ์ํ ์ ์ ๋ ๊ฐ๋ ฅํ ํ๋ซํผ์ด ๋ ๊ฒ์ ๋๋ค. ํ๋ก ํธ์๋ Shape Detection API๋ ์ด๋ฌํ ์ง์์ ์ธ ๋ณํ์ ์ฆ๊ฑฐ์ด๋ฉฐ, ์ ์ธ๊ณ ๊ฐ๋ฐ์๋ค์ด ์์ ํ ์๋ก์ด ๋ฐฉ์์ผ๋ก ์๊ฐ ์ธ๊ณ์ ์ํธ์์ฉํ๋ ํ์ ์ ์ธ ์๋ฃจ์ ์ ๋ง๋ค ์ ์๋๋ก ํ์ ์ค์ด์ค๋๋ค.
๊ฒฐ๋ก
ํ๋ก ํธ์๋ Shape Detection API๋ ์ปดํจํฐ ๋น์ ์ ์น์ผ๋ก ๊ฐ์ ธ์ค๋ ๋ฐ ์์ด ์ค์ถ์ ์ธ ๋ฐ์ ์ ๋ํ๋ ๋๋ค. ๋ธ๋ผ์ฐ์ ๋ด์์ ์ง์ ์ค์๊ฐ ๋ํ ๋ถ์์ ๊ฐ๋ฅํ๊ฒ ํจ์ผ๋ก์จ, ๋ ์ํธ์์ฉ์ ์ด๊ณ , ์ ๊ทผ ๊ฐ๋ฅํ๋ฉฐ, ์ง๋ฅ์ ์ธ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค๊ธฐ ์ํ ๋ฐฉ๋ํ ์ ์ฌ๋ ฅ์ ์ด์ด์ค๋๋ค. ์ ์์๊ฑฐ๋ ๊ฒฝํ์ ํ์ ํ๊ณ ๊ต์ก ๋๊ตฌ๋ฅผ ํฅ์์ํค๋ ๊ฒ๋ถํฐ ์ ์ธ๊ณ ์ฌ์ฉ์๋ฅผ ์ํ ์ค์ํ ์ ๊ทผ์ฑ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ๊ฒ๊น์ง, ๊ทธ ์์ฉ ๋ถ์ผ๋ ๊ทธ ํ์ ํ์ฉํ ๊ฐ๋ฐ์๋ค์ ์์๋ ฅ๋งํผ์ด๋ ๋ค์ํฉ๋๋ค. ์น์ด ๊ณ์ ์งํํจ์ ๋ฐ๋ผ, ์ด๋ฌํ ํด๋ผ์ด์ธํธ ์ธก ์ปดํจํฐ ๋น์ ๊ธฐ๋ฅ์ ๋ง์คํฐํ๋ ๊ฒ์ ์ฐจ์ธ๋ ๋งค๋ ฅ์ ์ด๊ณ ๋ฐ์์ด ๋น ๋ฅธ ์จ๋ผ์ธ ๊ฒฝํ์ ๊ตฌ์ถํ๋ ๋ฐ ํ์์ ์ผ ๊ฒ์ ๋๋ค.