์ฝ˜ํ…์ธ ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ

์ปดํ“จํ„ฐ ๋น„์ „ ํ”„๋กœ์ ํŠธ์˜ ์ฃผ์š” ๋‹จ๊ณ„ ์ดํ•ดํ•˜๊ธฐ

์†Œ๊ฐœ

์ปดํ“จํ„ฐ ๋น„์ „์€ ์ปดํ“จํ„ฐ๊ฐ€ ์ธ๊ฐ„์ฒ˜๋Ÿผ ์„ธ์ƒ์„ ๋ณด๊ณ  ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•๋Š” ์ธ๊ณต์ง€๋Šฅ(AI)์˜ ํ•˜์œ„ ๋ถ„์•ผ์ž…๋‹ˆ๋‹ค. ์ด๋ฏธ์ง€๋‚˜ ๋™์˜์ƒ์„ ์ฒ˜๋ฆฌํ•˜๊ณ  ๋ถ„์„ํ•˜์—ฌ ์ •๋ณด๋ฅผ ์ถ”์ถœํ•˜๊ณ  ํŒจํ„ด์„ ์ธ์‹ํ•˜๋ฉฐ ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์˜์‚ฌ ๊ฒฐ์ •์„ ๋‚ด๋ฆฝ๋‹ˆ๋‹ค.

๊ฐ์ฒด ๊ฐ์ง€, ์ด๋ฏธ์ง€ ๋ถ„๋ฅ˜, ์ธ์Šคํ„ด์Šค ๋ถ„ํ• ๊ณผ ๊ฐ™์€ ์ปดํ“จํ„ฐ ๋น„์ „ ๊ธฐ์ˆ ์€ ์ž์œจ ์ฃผํ–‰๋ถ€ํ„ฐ ์˜๋ฃŒ ์˜์ƒ์— ์ด๋ฅด๊ธฐ๊นŒ์ง€ ๋‹ค์–‘ํ•œ ์‚ฐ์—… ๋ถ„์•ผ์— ์ ์šฉ๋˜์–ด ๊ฐ€์น˜ ์žˆ๋Š” ์ธ์‚ฌ์ดํŠธ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ปดํ“จํ„ฐ ๋น„์ „ ๊ธฐ์ˆ  ๊ฐœ์š”

Working on your own computer vision projects is a great way to understand and learn more about computer vision. However, a computer vision project can consist of many steps, and it might seem confusing at first. By the end of this guide, you'll be familiar with the steps involved in a computer vision project. We'll walk through everything from the beginning to the end of a project, explaining why each part is important. Let's get started and make your computer vision project a success!

์ปดํ“จํ„ฐ ๋น„์ „ ํ”„๋กœ์ ํŠธ ๊ฐœ์š”

Before discussing the details of each step involved in a computer vision project, let's look at the overall process. If you started a computer vision project today, you'd take the following steps:

  • Your first priority would be to understand your project's requirements.
  • Then, you'd collect and accurately label the images that will help train your model.
  • Next, you'd clean your data and apply augmentation techniques to prepare it for model training.
  • After model training, you'd thoroughly test and evaluate your model to make sure it performs consistently under different conditions.
  • Finally, you'd deploy your model into the real world and update it based on new insights and feedback.

์ปดํ“จํ„ฐ ๋น„์ „ ํ”„๋กœ์ ํŠธ ๋‹จ๊ณ„ ๊ฐœ์š”

์ด์ œ ๋ฌด์—‡์„ ๊ธฐ๋Œ€ํ•ด์•ผ ํ•˜๋Š”์ง€ ์•Œ์•˜์œผ๋‹ˆ, ๋ฐ”๋กœ ๋‹จ๊ณ„๋ณ„๋กœ ๋“ค์–ด๊ฐ€์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

Step 1: Defining Your Project's Goals

The first step in any computer vision project is clearly defining the problem you're trying to solve. Knowing the end goal helps you start to build a solution. This is especially true when it comes to computer vision because your project's objective will directly affect which computer vision task you need to focus on.

๋‹ค์Œ์€ ํ”„๋กœ์ ํŠธ ๋ชฉํ‘œ์™€ ์ด๋Ÿฌํ•œ ๋ชฉํ‘œ๋ฅผ ๋‹ฌ์„ฑํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ปดํ“จํ„ฐ ๋น„์ „ ์ž‘์—…์˜ ๋ช‡ ๊ฐ€์ง€ ์˜ˆ์ž…๋‹ˆ๋‹ค:

  • ๋ชฉํ‘œ: ๊ณ ์†๋„๋กœ์—์„œ ๋‹ค์–‘ํ•œ ์ฐจ๋Ÿ‰ ์œ ํ˜•์˜ ํ๋ฆ„์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ๊ด€๋ฆฌํ•˜์—ฌ ๊ตํ†ต ๊ด€๋ฆฌ ๋ฐ ์•ˆ์ „์„ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ์‹œ์Šคํ…œ์„ ๊ฐœ๋ฐœํ•ฉ๋‹ˆ๋‹ค.

    • ์ปดํ“จํ„ฐ ๋น„์ „ ์ž‘์—…: ๋ฌผ์ฒด ๊ฐ์ง€๋Š” ์—ฌ๋Ÿฌ ๋Œ€์˜ ์ฐจ๋Ÿ‰์„ ํšจ์œจ์ ์œผ๋กœ ์ฐพ์•„ ์‹๋ณ„ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ตํ†ต ๋ชจ๋‹ˆํ„ฐ๋ง์— ์ด์ƒ์ ์ž…๋‹ˆ๋‹ค. ์ด ์ž‘์—…์— ๋ถˆํ•„์š”ํ•œ ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” ์ด๋ฏธ์ง€ ๋ถ„ํ• ๋ณด๋‹ค ๊ณ„์‚ฐ ๋ถ€๋‹ด์ด ์ ๊ธฐ ๋•Œ๋ฌธ์— ๋” ๋น ๋ฅธ ์‹ค์‹œ๊ฐ„ ๋ถ„์„์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.
  • ๋ชฉํ‘œ: ์˜๋ฃŒ ์˜์ƒ ์Šค์บ”์—์„œ ์ข…์–‘์˜ ์ •ํ™•ํ•œ ํ”ฝ์…€ ์ˆ˜์ค€ ์œค๊ณฝ์„ ์ œ๊ณตํ•˜์—ฌ ๋ฐฉ์‚ฌ์„ ๊ณผ ์˜์‚ฌ๋ฅผ ๋ณด์กฐํ•˜๋Š” ๋„๊ตฌ๋ฅผ ๊ฐœ๋ฐœํ•ฉ๋‹ˆ๋‹ค.

    • ์ปดํ“จํ„ฐ ๋น„์ „ ์ž‘์—…: ์ด๋ฏธ์ง€ ๋ถ„ํ• ์€ ํฌ๊ธฐ, ๋ชจ์–‘ ๋ฐ ์น˜๋ฃŒ ๊ณ„ํš์„ ํ‰๊ฐ€ํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•œ ์ข…์–‘์˜ ์ •ํ™•ํ•˜๊ณ  ์ƒ์„ธํ•œ ๊ฒฝ๊ณ„๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์˜๋ฃŒ ์˜์ƒ์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.
  • ๋ชฉํ‘œ: ์กฐ์ง์˜ ํšจ์œจ์„ฑ๊ณผ ๋ฌธ์„œ ๊ฒ€์ƒ‰์„ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์–‘ํ•œ ๋ฌธ์„œ(์˜ˆ: ์†ก์žฅ, ์˜์ˆ˜์ฆ, ๋ฒ•๋ฅ  ์„œ๋ฅ˜)๋ฅผ ๋ถ„๋ฅ˜ํ•˜๋Š” ๋””์ง€ํ„ธ ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•ฉ๋‹ˆ๋‹ค.

    • ์ปดํ“จํ„ฐ ๋น„์ „ ์ž‘์—…: ์ด๋ฏธ์ง€ ๋ถ„๋ฅ˜๋Š” ์ด๋ฏธ์ง€์—์„œ ๋ฌธ์„œ์˜ ์œ„์น˜๋ฅผ ๊ณ ๋ คํ•  ํ•„์š” ์—†์ด ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ ๋ฌธ์„œ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด์ƒ์ ์ž…๋‹ˆ๋‹ค. ์ด ์ ‘๊ทผ ๋ฐฉ์‹์€ ๋ถ„๋ฅ˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋‹จ์ˆœํ™”ํ•˜๊ณ  ๊ฐ€์†ํ™”ํ•ฉ๋‹ˆ๋‹ค.

1.5๋‹จ๊ณ„: ์ ํ•ฉํ•œ ๋ชจ๋ธ ๋ฐ ๊ต์œก ์ ‘๊ทผ ๋ฐฉ์‹ ์„ ํƒํ•˜๊ธฐ

ํ”„๋กœ์ ํŠธ ๋ชฉํ‘œ์™€ ์ ํ•ฉํ•œ ์ปดํ“จํ„ฐ ๋น„์ „ ์ž‘์—…์„ ์ดํ•ดํ•œ ํ›„ ํ”„๋กœ์ ํŠธ ๋ชฉํ‘œ๋ฅผ ์ •์˜ํ•˜๋Š” ๋ฐ ์žˆ์–ด ํ•„์ˆ˜์ ์ธ ๋ถ€๋ถ„์€ ์˜ฌ๋ฐ”๋ฅธ ๋ชจ๋ธ๊ณผ ๊ต์œก ์ ‘๊ทผ ๋ฐฉ์‹์„ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ชฉํ‘œ์— ๋”ฐ๋ผ ๋จผ์ € ๋ชจ๋ธ์„ ์„ ํƒํ•˜๊ฑฐ๋‚˜ 2๋‹จ๊ณ„์—์„œ ์–ด๋–ค ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•œ ํ›„์— ๋ชจ๋ธ์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํ”„๋กœ์ ํŠธ๊ฐ€ ํŠน์ • ์œ ํ˜•์˜ ๋ฐ์ดํ„ฐ์˜ ๊ฐ€์šฉ์„ฑ์— ํฌ๊ฒŒ ์˜์กดํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ๋ชจ๋ธ์„ ์„ ํƒํ•˜๊ธฐ ์ „์— ๋จผ์ € ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ  ๋ถ„์„ํ•˜๋Š” ๊ฒƒ์ด ๋” ์‹ค์šฉ์ ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด์— ๋ชจ๋ธ ์š”๊ตฌ ์‚ฌํ•ญ์„ ๋ช…ํ™•ํ•˜๊ฒŒ ์ดํ•ดํ•˜๊ณ  ์žˆ๋‹ค๋ฉด ๋ชจ๋ธ์„ ๋จผ์ € ์„ ํƒํ•œ ๋‹ค์Œ ํ•ด๋‹น ์‚ฌ์–‘์— ๋งž๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Choosing between training from scratch or using transfer learning affects how you prepare your data. Training from scratch requires a diverse dataset to build the model's understanding from the ground up. Transfer learning, on the other hand, allows you to use a pre-trained model and adapt it with a smaller, more specific dataset. Also, choosing a specific model to train will determine how you need to prepare your data, such as resizing images or adding annotations, according to the model's specific requirements.

์ฒ˜์Œ๋ถ€ํ„ฐ ๊ต์œกํ•˜๊ธฐ ๋Œ€ ์ „์ด ํ•™์Šต ํ™œ์šฉํ•˜๊ธฐ

Note: When choosing a model, consider its deployment to ensure compatibility and performance. For example, lightweight models are ideal for edge computing due to their efficiency on resource-constrained devices. To learn more about the key points related to defining your project, read our guide on defining your project's goals and selecting the right model.

์ปดํ“จํ„ฐ ๋น„์ „ ํ”„๋กœ์ ํŠธ์˜ ์‹ค์ œ ์ž‘์—…์— ๋“ค์–ด๊ฐ€๊ธฐ ์ „์— ์ด๋Ÿฌํ•œ ์„ธ๋ถ€ ์‚ฌํ•ญ์„ ๋ช…ํ™•ํ•˜๊ฒŒ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. 2๋‹จ๊ณ„๋กœ ๋„˜์–ด๊ฐ€๊ธฐ ์ „์— ๋‹ค์Œ ์‚ฌํ•ญ์„ ๊ณ ๋ คํ–ˆ๋Š”์ง€ ๋‹ค์‹œ ํ•œ ๋ฒˆ ํ™•์ธํ•˜์„ธ์š”:

  • Clearly define the problem you're trying to solve.
  • ํ”„๋กœ์ ํŠธ์˜ ์ตœ์ข… ๋ชฉํ‘œ๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.
  • ํ•„์š”ํ•œ ํŠน์ • ์ปดํ“จํ„ฐ ๋น„์ „ ์ž‘์—…(์˜ˆ: ๋ฌผ์ฒด ๊ฐ์ง€, ์ด๋ฏธ์ง€ ๋ถ„๋ฅ˜, ์ด๋ฏธ์ง€ ๋ถ„ํ• )์„ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ชจ๋ธ์„ ์ฒ˜์Œ๋ถ€ํ„ฐ ํ•™์Šตํ• ์ง€, ์•„๋‹ˆ๋ฉด ์ „์ด ํ•™์Šต์„ ์‚ฌ์šฉํ• ์ง€ ๊ฒฐ์ •ํ•˜์„ธ์š”.
  • ์ž‘์—… ๋ฐ ๋ฐฐํฌ ์š”๊ตฌ ์‚ฌํ•ญ์— ์ ํ•ฉํ•œ ๋ชจ๋ธ์„ ์„ ํƒํ•˜์„ธ์š”.

2๋‹จ๊ณ„: ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ๋ฐ ๋ฐ์ดํ„ฐ ์–ด๋…ธํ…Œ์ด์…˜

์ปดํ“จํ„ฐ ๋น„์ „ ๋ชจ๋ธ์˜ ํ’ˆ์งˆ์€ ๋ฐ์ดํ„ฐ ์„ธํŠธ์˜ ํ’ˆ์งˆ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค. ์ธํ„ฐ๋„ท์—์„œ ์ด๋ฏธ์ง€๋ฅผ ์ˆ˜์ง‘ํ•˜๊ฑฐ๋‚˜ ์ง์ ‘ ์‚ฌ์ง„์„ ์ฐ๊ฑฐ๋‚˜ ๊ธฐ์กด ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ๊ณ ํ’ˆ์งˆ ๋ฐ์ดํ„ฐ์„ธํŠธ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋Š” ๋ช‡ ๊ฐ€์ง€ ํ›Œ๋ฅญํ•œ ๋ฆฌ์†Œ์Šค์ž…๋‹ˆ๋‹ค: Google ๋ฐ์ดํ„ฐ ์„ธํŠธ ๊ฒ€์ƒ‰ ์—”์ง„, UC ์–ด๋ฐ”์ธ ๋จธ์‹  ๋Ÿฌ๋‹ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ, Kaggle ๋ฐ์ดํ„ฐ ์„ธํŠธ.

Ultralytics ์™€ ๊ฐ™์€ ์ผ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ์…‹์„ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ง€์›ํ•˜๋ฏ€๋กœ ๊ณ ํ’ˆ์งˆ ๋ฐ์ดํ„ฐ๋ฅผ ์‰ฝ๊ฒŒ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—๋Š” ์ธ๊ธฐ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์ง‘ํ•ฉ์„ ์›ํ™œํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์–ด ํ”„๋กœ์ ํŠธ ์ดˆ๊ธฐ ๋‹จ๊ณ„์—์„œ ๋งŽ์€ ์‹œ๊ฐ„๊ณผ ๋…ธ๋ ฅ์„ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

However, if you choose to collect images or take your own pictures, you'll need to annotate your data. Data annotation is the process of labeling your data to impart knowledge to your model. The type of data annotation you'll work with depends on your specific computer vision technique. Here are some examples:

  • Image Classification: You'll label the entire image as a single class.
  • Object Detection: You'll draw bounding boxes around each object in the image and label each box.
  • Image Segmentation: You'll label each pixel in the image according to the object it belongs to, creating detailed object boundaries.

๋‹ค์–‘ํ•œ ์œ ํ˜•์˜ ์ด๋ฏธ์ง€ ์ฃผ์„

Data collection and annotation can be a time-consuming manual effort. Annotation tools can help make this process easier. Here are some useful open annotation tools: LabeI Studio, CVAT, and Labelme.

3๋‹จ๊ณ„: ๋ฐ์ดํ„ฐ ์ฆ๊ฐ• ๋ฐ ๋ฐ์ดํ„ฐ ์„ธํŠธ ๋ถ„ํ• 

์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ  ์ฃผ์„์„ ๋‹จ ํ›„์—๋Š” ๋ฐ์ดํ„ฐ ์ฆ๊ฐ•์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์ „์— ๋จผ์ € ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ํ•™์Šต, ๊ฒ€์ฆ ๋ฐ ํ…Œ์ŠคํŠธ ์„ธํŠธ๋กœ ๋ถ„ํ• ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์ฆ๊ฐ• ์ „์— ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ๋ถ„ํ• ํ•˜๋Š” ๊ฒƒ์€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์€ ์›๋ณธ ๋ฐ์ดํ„ฐ์—์„œ ๋ชจ๋ธ์„ ํ…Œ์ŠคํŠธํ•˜๊ณ  ๊ฒ€์ฆํ•˜๋Š” ๋ฐ ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋ชจ๋ธ์ด ๋ณด์ด์ง€ ์•Š๋Š” ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ์— ์–ผ๋งˆ๋‚˜ ์ž˜ ์ผ๋ฐ˜ํ™”๋˜๋Š”์ง€ ์ •ํ™•ํ•˜๊ฒŒ ํ‰๊ฐ€ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„ํ• ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  • ํ›ˆ๋ จ ์„ธํŠธ: ๋ชจ๋ธ ํ•™์Šต์— ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ์˜ ๊ฐ€์žฅ ํฐ ๋ถ€๋ถ„์œผ๋กœ, ์ผ๋ฐ˜์ ์œผ๋กœ ์ „์ฒด์˜ 70~80%์— ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค.
  • ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ์„ธํŠธ: ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฐ์ดํ„ฐ์˜ ์•ฝ 10~15%์— ํ•ด๋‹นํ•˜๋Š” ์ด ์„ธํŠธ๋Š” ํ•™์Šต ์ค‘์— ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์กฐ์ •ํ•˜๊ณ  ๋ชจ๋ธ์„ ๊ฒ€์ฆํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋ฉฐ, ๊ณผ์ ํ•ฉ์„ ๋ฐฉ์ง€ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.
  • ํ…Œ์ŠคํŠธ ์„ธํŠธ: ๋ฐ์ดํ„ฐ์˜ ๋‚˜๋จธ์ง€ 10~15%๋Š” ํ…Œ์ŠคํŠธ ์„ธํŠธ๋กœ ๋”ฐ๋กœ ๋ณด๊ด€ํ•ฉ๋‹ˆ๋‹ค. ํ•™์Šต์ด ์™„๋ฃŒ๋œ ํ›„ ๋ณด์ด์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์„ ํ‰๊ฐ€ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„ํ• ํ•œ ํ›„ ์ด๋ฏธ์ง€ ํšŒ์ „, ํฌ๊ธฐ ์กฐ์ •, ๋’ค์ง‘๊ธฐ ๋“ฑ์˜ ๋ณ€ํ™˜์„ ์ ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ์„ธํŠธ์˜ ํฌ๊ธฐ๋ฅผ ์ธ์œ„์ ์œผ๋กœ ๋Š˜๋ฆฌ๋Š” ๋ฐ์ดํ„ฐ ์ฆ๊ฐ•์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์ฆ๊ฐ•์€ ๋ชจ๋ธ์„ ๋ณ€ํ˜•์— ๋”์šฑ ๊ฒฌ๊ณ ํ•˜๊ฒŒ ๋งŒ๋“ค๊ณ  ๋ณด์ด์ง€ ์•Š๋Š” ์ด๋ฏธ์ง€์— ๋Œ€ํ•œ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ์ฆ๊ฐ•์˜ ์˜ˆ

OpenCV, Albumentations, TensorFlow ์™€ ๊ฐ™์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ๋Š” ์œ ์—ฐํ•œ ์ฆ๊ฐ• ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ Ultralytics ์™€ ๊ฐ™์€ ์ผ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—๋Š” ๋ชจ๋ธ ํŠธ๋ ˆ์ด๋‹ ๊ธฐ๋Šฅ ๋‚ด์— ์ง์ ‘ ์ฆ๊ฐ• ์„ค์ •์ด ๋‚ด์žฅ๋˜์–ด ์žˆ์–ด ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ„์†Œํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฅผ ๋” ์ž˜ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด Matplotlib ๋˜๋Š” Seaborn๊ณผ ๊ฐ™์€ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•ด ์ด๋ฏธ์ง€๋ฅผ ์‹œ๊ฐํ™”ํ•˜๊ณ  ๋ถ„ํฌ์™€ ํŠน์„ฑ์„ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฅผ ์‹œ๊ฐํ™”ํ•˜๋ฉด ํŒจํ„ด, ์ด์ƒ ์ง•ํ›„, ์ฆ๊ฐ• ๊ธฐ์ˆ ์˜ ํšจ๊ณผ๋ฅผ ํŒŒ์•…ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ์‹œ๋งจํ‹ฑ ๊ฒ€์ƒ‰, SQL ์ฟผ๋ฆฌ, ๋ฒกํ„ฐ ์œ ์‚ฌ์„ฑ ๊ฒ€์ƒ‰์„ ํ†ตํ•ด ์ปดํ“จํ„ฐ ๋น„์ „ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ํƒ์ƒ‰ํ•˜๋Š” ๋„๊ตฌ์ธ Ultralytics Explorer๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

Ultralytics ํƒ์ƒ‰๊ธฐ ๋„๊ตฌ

By properly understanding, splitting, and augmenting your data, you can develop a well-trained, validated, and tested model that performs well in real-world applications.

4๋‹จ๊ณ„: ๋ชจ๋ธ ๊ต์œก

๋ฐ์ดํ„ฐ ์„ธํŠธ๊ฐ€ ํ•™์Šตํ•  ์ค€๋น„๊ฐ€ ๋˜๋ฉด ํ•„์š”ํ•œ ํ™˜๊ฒฝ ์„ค์ •, ๋ฐ์ดํ„ฐ ์„ธํŠธ ๊ด€๋ฆฌ, ๋ชจ๋ธ ํ•™์Šต์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

First, you'll need to make sure your environment is configured correctly. Typically, this includes the following:

  • ๊ฐ™์€ ํ•„์ˆ˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐ ํ”„๋ ˆ์ž„์›Œํฌ ์„ค์น˜ TensorFlow, PyTorch, ๋˜๋Š” Ultralytics.
  • GPU๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ CUDA ๋ฐ cuDNN๊ณผ ๊ฐ™์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ค์น˜ํ•˜๋ฉด GPU ๊ฐ€์†์„ ํ™œ์„ฑํ™”ํ•˜๊ณ  ํ•™์Šต ํ”„๋กœ์„ธ์Šค ์†๋„๋ฅผ ๋†’์ด๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ ๋‹ค์Œ ํŠธ๋ ˆ์ด๋‹ ๋ฐ ๊ฒ€์ฆ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ์‚ฌ์šฉ์ž ํ™˜๊ฒฝ์— ๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํฌ๊ธฐ ์กฐ์ •, ํ˜•์‹ ๋ณ€ํ™˜ ๋˜๋Š” ์ฆ๊ฐ•์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์ •๊ทœํ™”ํ•˜๊ณ  ์‚ฌ์ „ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋ธ์„ ์„ ํƒํ•œ ํ›„ ๋ ˆ์ด์–ด๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ  ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์†์‹ค ํ•จ์ˆ˜, ์ตœ์ ํ™” ๋„๊ตฌ ๋ฐ ์„ฑ๋Šฅ ์ง€ํ‘œ๋ฅผ ์„ค์ •ํ•˜์—ฌ ๋ชจ๋ธ์„ ์ปดํŒŒ์ผํ•ฉ๋‹ˆ๋‹ค.

Ultralytics ๊ฐ™์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ•™์Šต ๊ณผ์ •์„ ๊ฐ„์†Œํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ตœ์†Œํ•œ์˜ ์ฝ”๋”ฉ์œผ๋กœ ๋ชจ๋ธ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ํ•™์Šต์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๊ฐ€์ค‘์น˜ ์กฐ์ •, ์—ญ์ „ํŒŒ, ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ์ž๋™์œผ๋กœ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์ง„ํ–‰ ์ƒํ™ฉ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์‰ฝ๊ฒŒ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ๋„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ํ›ˆ๋ จ ํ›„์—๋Š” ๋ช‡ ๊ฐ€์ง€ ๋ช…๋ น์œผ๋กœ ๋ชจ๋ธ๊ณผ ๊ฐ€์ค‘์น˜๋ฅผ ์ €์žฅํ•˜์„ธ์š”.

ํšจ์œจ์ ์ธ ๊ต์œก์„ ์œ„ํ•ด์„œ๋Š” ์ ์ ˆํ•œ ๋ฐ์ดํ„ฐ ์„ธํŠธ ๊ด€๋ฆฌ๊ฐ€ ํ•„์ˆ˜์ ์ด๋ผ๋Š” ์ ์„ ๋ช…์‹ฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์„ธํŠธ์— ๋ฒ„์ „ ๊ด€๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ถ”์ ํ•˜๊ณ  ์žฌํ˜„์„ฑ์„ ๋ณด์žฅํ•˜์„ธ์š”. DVC(๋ฐ์ดํ„ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ)์™€ ๊ฐ™์€ ๋„๊ตฌ๋Š” ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

5๋‹จ๊ณ„: ๋ชจ๋ธ ํ‰๊ฐ€ ๋ฐ ๋ชจ๋ธ ๋ฏธ์„ธ ์กฐ์ •

It's important to assess your model's performance using various metrics and refine it to improve accuracy. Evaluating helps identify areas where the model excels and where it may need improvement. Fine-tuning ensures the model is optimized for the best possible performance.

  • Performance Metrics: Use metrics like accuracy, precision, recall, and F1-score to evaluate your model's performance. These metrics provide insights into how well your model is making predictions.
  • ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ ์กฐ์ •: ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์กฐ์ •ํ•˜์—ฌ ๋ชจ๋ธ ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๋“œ ๊ฒ€์ƒ‰ ๋˜๋Š” ๋ฌด์ž‘์œ„ ๊ฒ€์ƒ‰๊ณผ ๊ฐ™์€ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜๋ฉด ์ตœ์ ์˜ ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐ’์„ ์ฐพ๋Š” ๋ฐ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋ฏธ์„ธ ์กฐ์ •: ๋ชจ๋ธ ์•„ํ‚คํ…์ฒ˜๋‚˜ ํ•™์Šต ํ”„๋กœ์„ธ์Šค๋ฅผ ์•ฝ๊ฐ„ ์กฐ์ •ํ•˜์—ฌ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ํ•™์Šต ์†๋„, ๋ฐฐ์น˜ ํฌ๊ธฐ ๋˜๋Š” ๊ธฐํƒ€ ๋ชจ๋ธ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์กฐ์ •ํ•˜๋Š” ์ž‘์—…์ด ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

6๋‹จ๊ณ„: ๋ชจ๋ธ ํ…Œ์ŠคํŠธ

์ด ๋‹จ๊ณ„์—์„œ๋Š” ๋ชจ๋ธ์ด ์™„์ „ํžˆ ๋ณด์ด์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ์—์„œ๋„ ์ž˜ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•˜์—ฌ ๋ฐฐํฌํ•  ์ค€๋น„๊ฐ€ ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋ธ ํ…Œ์ŠคํŠธ์™€ ๋ชจ๋ธ ํ‰๊ฐ€์˜ ์ฐจ์ด์ ์€ ๋ชจ๋ธ์„ ๋ฐ˜๋ณต์ ์œผ๋กœ ๊ฐœ์„ ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ตœ์ข… ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์„ ๊ฒ€์ฆํ•˜๋Š” ๋ฐ ์ค‘์ ์„ ๋‘”๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค.

๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์ผ๋ฐ˜์ ์ธ ๋ฌธ์ œ๋ฅผ ์ฒ ์ €ํžˆ ํ…Œ์ŠคํŠธํ•˜๊ณ  ๋””๋ฒ„๊ทธํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ํ•™์Šต ๋˜๋Š” ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ์ค‘์— ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ๋ณ„๋„์˜ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ ์„ธํŠธ์—์„œ ๋ชจ๋ธ์„ ํ…Œ์ŠคํŠธํ•˜์„ธ์š”. ์ด ๋ฐ์ดํ„ฐ ์„ธํŠธ๋Š” ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์ด ์ผ๊ด€๋˜๊ณ  ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์‹ค์ œ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ๋‚˜ํƒ€๋‚ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ ๊ณผ์ ํ•ฉ, ๊ณผ์†Œ์ ํ•ฉ, ๋ฐ์ดํ„ฐ ์œ ์ถœ๊ณผ ๊ฐ™์€ ์ผ๋ฐ˜์ ์ธ ๋ฌธ์ œ๋„ ํ•ด๊ฒฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ต์ฐจ ๊ฒ€์ฆ ๋ฐ ์ด์ƒ ์ง•ํ›„ ํƒ์ง€์™€ ๊ฐ™์€ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ์‹๋ณ„ํ•˜๊ณ  ํ•ด๊ฒฐํ•˜์„ธ์š”.

7๋‹จ๊ณ„: ๋ชจ๋ธ ๋ฐฐํฌ

๋ชจ๋ธ์„ ์ฒ ์ €ํžˆ ํ…Œ์ŠคํŠธํ–ˆ๋‹ค๋ฉด ์ด์ œ ๋ฐฐํฌํ•  ์ฐจ๋ก€์ž…๋‹ˆ๋‹ค. ๋ฐฐํฌ์—๋Š” ๋ชจ๋ธ์„ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“œ๋Š” ์ž‘์—…์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์ปดํ“จํ„ฐ ๋น„์ „ ๋ชจ๋ธ์„ ๋ฐฐํฌํ•˜๋Š” ๋‹จ๊ณ„๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  • ํ™˜๊ฒฝ ์„ค์ •ํ•˜๊ธฐ: ํด๋ผ์šฐ๋“œ ๊ธฐ๋ฐ˜(AWS, Google Cloud, Azure)์ด๋“  ์—์ง€ ๊ธฐ๋ฐ˜(๋กœ์ปฌ ๋””๋ฐ”์ด์Šค, IoT)์ด๋“  ์„ ํƒํ•œ ๋ฐฐํฌ ์˜ต์…˜์— ํ•„์š”ํ•œ ์ธํ”„๋ผ๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

  • ๋ชจ๋ธ ๋‚ด๋ณด๋‚ด๊ธฐ: ๋ฐฐํฌ ํ”Œ๋žซํผ๊ณผ์˜ ํ˜ธํ™˜์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ๋ชจ๋ธ์„ ์ ์ ˆํ•œ ํ˜•์‹(์˜ˆ: ONNX, TensorRT, YOLOv8 ์˜ ๊ฒฝ์šฐ CoreML )์œผ๋กœ ๋‚ด๋ณด๋ƒ…๋‹ˆ๋‹ค.

  • ๋ชจ๋ธ ๋ฐฐํฌํ•˜๊ธฐ: API ๋˜๋Š” ์—”๋“œํฌ์ธํŠธ๋ฅผ ์„ค์ •ํ•˜๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ํ†ตํ•ฉํ•˜์—ฌ ๋ชจ๋ธ์„ ๋ฐฐํฌํ•ฉ๋‹ˆ๋‹ค.
  • ํ™•์žฅ์„ฑ ๋ณด์žฅ: ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ, ์ž๋™ ํ™•์žฅ ๊ทธ๋ฃน, ๋ชจ๋‹ˆํ„ฐ๋ง ๋„๊ตฌ๋ฅผ ๊ตฌํ˜„ํ•˜์—ฌ ๋ฆฌ์†Œ์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ์ฆ๊ฐ€ํ•˜๋Š” ๋ฐ์ดํ„ฐ์™€ ์‚ฌ์šฉ์ž ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜์„ธ์š”.

8๋‹จ๊ณ„: ๋ชจ๋‹ˆํ„ฐ๋ง, ์œ ์ง€ ๊ด€๋ฆฌ ๋ฐ ๋ฌธ์„œํ™”

Once your model is deployed, it's important to continuously monitor its performance, maintain it to handle any issues, and document the entire process for future reference and improvements.

๋ชจ๋‹ˆํ„ฐ๋ง ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ•ต์‹ฌ ์„ฑ๊ณผ ์ง€ํ‘œ(KPI)๋ฅผ ์ถ”์ ํ•˜๊ณ  ์ด์ƒ ์ง•ํ›„๋‚˜ ์ •ํ™•๋„ ์ €ํ•˜๋ฅผ ๊ฐ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋ธ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋ฉด ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์˜ ๋ณ€๊ฒฝ์œผ๋กœ ์ธํ•ด ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์ด ์ €ํ•˜๋˜๋Š” ๋ชจ๋ธ ๋“œ๋ฆฌํ”„ํŠธ๋ฅผ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—…๋ฐ์ดํŠธ๋œ ๋ฐ์ดํ„ฐ๋กœ ๋ชจ๋ธ์„ ์ฃผ๊ธฐ์ ์œผ๋กœ ์žฌํ•™์Šตํ•˜์—ฌ ์ •ํ™•๋„์™€ ๊ด€๋ จ์„ฑ์„ ์œ ์ง€ํ•˜์„ธ์š”.

๋ชจ๋ธ ๋ชจ๋‹ˆํ„ฐ๋ง

๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ์œ ์ง€ ๊ด€๋ฆฌ ์™ธ์—๋„ ๋ฌธ์„œํ™”๋„ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋ธ ์•„ํ‚คํ…์ฒ˜, ํ•™์Šต ์ ˆ์ฐจ, ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ, ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ ๋‹จ๊ณ„, ๋ฐฐํฌ ๋ฐ ์œ ์ง€๋ณด์ˆ˜ ์ค‘ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ํฌํ•จํ•œ ์ „์ฒด ํ”„๋กœ์„ธ์Šค๋ฅผ ์ฒ ์ €ํžˆ ๋ฌธ์„œํ™”ํ•˜์„ธ์š”. ๋ฌธ์„œํ™”๊ฐ€ ์ž˜ ๋˜์–ด ์žˆ์œผ๋ฉด ์žฌํ˜„์„ฑ์ด ๋ณด์žฅ๋˜๊ณ  ํ–ฅํ›„ ์—…๋ฐ์ดํŠธ๋‚˜ ๋ฌธ์ œ ํ•ด๊ฒฐ์ด ์‰ฌ์›Œ์ง‘๋‹ˆ๋‹ค. ๋ชจ๋ธ์„ ํšจ๊ณผ์ ์œผ๋กœ ๋ชจ๋‹ˆํ„ฐ๋ง, ์œ ์ง€ ๊ด€๋ฆฌ ๋ฐ ๋ฌธ์„œํ™”ํ•˜๋ฉด ์ˆ˜๋ช… ์ฃผ๊ธฐ ๋™์•ˆ ์ •ํ™•ํ•˜๊ณ  ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๊ด€๋ฆฌํ•˜๊ธฐ ์‰ฌ์šด ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ

๋‹ค์Œ์€ ์ปดํ“จํ„ฐ ๋น„์ „ ํ”„๋กœ์ ํŠธ ์ค‘์— ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ช‡ ๊ฐ€์ง€ ์ผ๋ฐ˜์ ์ธ ์งˆ๋ฌธ์ž…๋‹ˆ๋‹ค:

  • Q1: ์ปดํ“จํ„ฐ ๋น„์ „ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ•  ๋•Œ ์ด๋ฏธ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋‚˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ๋‹จ๊ณ„๊ฐ€ ์–ด๋–ป๊ฒŒ ๋ณ€๊ฒฝ๋˜๋‚˜์š”?

    • A1: Starting with a pre-existing dataset or data affects the initial steps of your project. In Step 1, along with deciding the computer vision task and model, you'll also need to explore your dataset thoroughly. Understanding its quality, variety, and limitations will guide your choice of model and training approach. Your approach should align closely with the data's characteristics for more effective outcomes. Depending on your data or dataset, you may be able to skip Step 2 as well.
  • Q2: I'm not sure what computer vision project to start my AI learning journey with.

  • Q3: I don't want to train a model. I just want to try running a model on an image. How can I do that?

    • A3: ์ƒˆ ๋ชจ๋ธ์„ ํ•™์Šต์‹œํ‚ค์ง€ ์•Š๊ณ ๋„ ์‚ฌ์ „ ํ•™์Šต๋œ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฏธ์ง€์— ๋Œ€ํ•œ ์˜ˆ์ธก์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์ „ ํ•™์Šต๋œ YOLOv8 ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฏธ์ง€์— ๋Œ€ํ•œ ์˜ˆ์ธก์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ง€์นจ์€ YOLOv8 ์˜ˆ์ธก ๋ฌธ์„œ ํŽ˜์ด์ง€๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.
  • Q4: ์ปดํ“จํ„ฐ ๋น„์ „ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐ YOLOv8 ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋ฌธ์„œ์™€ ์—…๋ฐ์ดํŠธ๋Š” ์–ด๋””์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ๋‚˜์š”?

    • A4: ์ปดํ“จํ„ฐ ๋น„์ „ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ YOLOv8 ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๊ธฐ์‚ฌ, ์—…๋ฐ์ดํŠธ ๋ฐ ์ธ์‚ฌ์ดํŠธ๋ฅผ ๋ณด๋ ค๋ฉด Ultralytics ๋ธ”๋กœ๊ทธ ํŽ˜์ด์ง€๋ฅผ ๋ฐฉ๋ฌธํ•˜์„ธ์š”. ์ด ๋ธ”๋กœ๊ทธ๋Š” ๋‹ค์–‘ํ•œ ์ฃผ์ œ๋ฅผ ๋‹ค๋ฃจ๋ฉฐ ์ตœ์‹  ์ •๋ณด๋ฅผ ์–ป๊ณ  ํ”„๋กœ์ ํŠธ๋ฅผ ๊ฐœ์„ ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋Š” ์œ ์šฉํ•œ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ์†Œํ†ตํ•˜๊ธฐ

์ปดํ“จํ„ฐ ๋น„์ „ ์• ํ˜ธ๊ฐ€ ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ์—ฐ๊ฒฐํ•˜๋ฉด ์ปดํ“จํ„ฐ ๋น„์ „ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ๋™์•ˆ ์ง๋ฉดํ•˜๋Š” ๋ชจ๋“  ๋ฌธ์ œ๋ฅผ ์ž์‹  ์žˆ๊ฒŒ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ํšจ๊ณผ์ ์œผ๋กœ ๋ฐฐ์šฐ๊ณ , ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ , ๋„คํŠธ์›Œํฌ๋ฅผ ํ˜•์„ฑํ•˜๋Š” ๋ช‡ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฆฌ์†Œ์Šค

  • GitHub ์ด์Šˆ: YOLOv8 GitHub ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ํ™•์ธํ•˜๊ณ  ์ด์Šˆ ํƒญ์„ ์‚ฌ์šฉํ•˜์—ฌ ์งˆ๋ฌธํ•˜๊ณ , ๋ฒ„๊ทธ๋ฅผ ์‹ ๊ณ ํ•˜๊ณ , ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ œ์•ˆํ•˜์„ธ์š”. ํ™œ๋ฐœํ•œ ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ๊ด€๋ฆฌ์ž๊ฐ€ ํŠน์ • ๋ฌธ์ œ์— ๋Œ€ํ•ด ๋„์›€์„ ๋“œ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • Ultralytics ๋””์Šค์ฝ”๋“œ ์„œ๋ฒ„: Ultralytics Discord ์„œ๋ฒ„์— ๊ฐ€์ž…ํ•˜์—ฌ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž ๋ฐ ๊ฐœ๋ฐœ์ž์™€ ์†Œํ†ตํ•˜๊ณ , ์ง€์›์„ ๋ฐ›๊ณ , ์ธ์‚ฌ์ดํŠธ๋ฅผ ๊ณต์œ ํ•˜์„ธ์š”.

๊ณต์‹ ๋ฌธ์„œ

  • Ultralytics YOLOv8 ๋ฌธ์„œ: ๊ณต์‹ ๋ฌธ์„œ( YOLOv8 )์—์„œ ๋‹ค์–‘ํ•œ ์ปดํ“จํ„ฐ ๋น„์ „ ์ž‘์—… ๋ฐ ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ ์œ ์šฉํ•œ ํŒ์ด ๋‹ด๊ธด ์ž์„ธํ•œ ๊ฐ€์ด๋“œ๋ฅผ ํ™•์ธํ•˜์„ธ์š”.

์ด๋Ÿฌํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฌธ์ œ๋ฅผ ๊ทน๋ณตํ•˜๊ณ  ์ปดํ“จํ„ฐ ๋น„์ „ ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ์ตœ์‹  ํŠธ๋ Œ๋“œ์™€ ๋ชจ๋ฒ” ์‚ฌ๋ก€๋ฅผ ์ตœ์‹  ์ƒํƒœ๋กœ ์œ ์ง€ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

์˜ค๋Š˜ ์ปดํ“จํ„ฐ ๋น„์ „ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹œ์ž‘ํ•˜์„ธ์š”!

์ปดํ“จํ„ฐ ๋น„์ „ ํ”„๋กœ์ ํŠธ์— ๋„์ „ํ•˜๋Š” ๊ฒƒ์€ ํฅ๋ฏธ๋กญ๊ณ  ๋ณด๋žŒ์ฐฌ ์ผ์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฐ€์ด๋“œ์˜ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅด๋ฉด ์„ฑ๊ณต์˜ ํƒ„ํƒ„ํ•œ ํ† ๋Œ€๋ฅผ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ๋‹จ๊ณ„๋Š” ๋ชฉํ‘œ์— ๋ถ€ํ•ฉํ•˜๊ณ  ์‹ค์ œ ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ ์ž˜ ์ž‘๋™ํ•˜๋Š” ์†”๋ฃจ์…˜์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐ ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ฒฝํ—˜์ด ์Œ“์ด๋ฉด์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณ ๊ธ‰ ๊ธฐ์ˆ ๊ณผ ๋„๊ตฌ๋ฅผ ๋ฐœ๊ฒฌํ•˜๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ˜ธ๊ธฐ์‹ฌ์„ ๊ฐ–๊ณ  ๊ณ„์† ๋ฐฐ์šฐ๋ฉฐ ์ƒˆ๋กœ์šด ๋ฐฉ๋ฒ•๊ณผ ํ˜์‹ ์„ ํƒ๊ตฌํ•˜์„ธ์š”!



Created 2024-05-29, Updated 2024-06-10
Authors: glenn-jocher (4), abirami-vina (2)

๋Œ“๊ธ€