Машинное зрение; трекинг мячаМетоды, применяемые для определения объектов на картинке
Заказать уникальную курсовую работу- 21 21 страница
- 13 + 13 источников
- Добавлена 17.03.2022
- Содержание
- Часть работы
- Список литературы
- Вопросы/Ответы
Это важная область в искусственном интеллекте, которая включает в себя сразу несколько действий, таких как распознавание содержания фотографии, идентификацию и организацию или генерацию самого объекта. Поиск объектов на изображении — важная область компьютерного зрения.
В настоящее время определение различных вещей или живых существ по фотографии интенсивно используется в следующих областях:
Кроме того, высочайшие скорости некоторых методов позволяют искать изображения в режиме реального времени даже на мобильных устройствах, позволяя использовать дополненную реальность на телефонах и планшетах обычных пользователей. Практически все другие существующие движки дополненной реальности работают по тому же принципу (например, от компании Qualcomm библиотека Vuforia). Для достижения максимально возможного уровня отслеживания объектов (маркеров) необходимо иметь достаточно большое количество уникальных (измеренных) ключевых точек, которые библиотека дополненной реальности сможет быстро выделить на вашем видеопотоке и сравнить с имеющимся у вас набором шаблонов. Для этого следует как можно чаще использовать детектор, дескриптор и матчер, а также следует разработать алгоритм, способный без колебаний сообщать о том, что объект найден. Если первые три компоненты выбираются путем измерения скорости работы и оценки инвариантности различных преобразований, то крайняя компонента требует более детальной проработки. Причина этого в том, что не существует стандартных программных средств, которые могли бы уверенно сообщить о факте нахождения маркера. Такие фильтры следует внедрять самостоятельно с учетом задач проекта, в котором они будут использоваться.Программныйкод# import the necessary packagesfrom imutils.video import VideoStreamfrom collections import dequeimport numpy as npimport argparseimport imutilsimport timeimport cv2args = { "video": "ball_tracking_example.mp4", "output" : "output.avi", "buffer": 64}greenLower = (29, 86, 6)greenUpper = (64, 255, 255)pts = deque(maxlen=args["buffer"])# grab a reference to the video file and initialize pointer to output# video fileprint("[INFO] opening video file...")vs = cv2.VideoCapture(args["video"])writer = None# keep loopingwhile True: # grab the current frame frame = vs.read()[1] # if we are viewing a video and we did not grab a frame, # then we have reached the end of the video if frame is None: break # resize the frame, blur it, and convert it to the HSV # color space frame = imutils.resize(frame, width=600) blurred = cv2.GaussianBlur(frame, (11, 11), 0) hsv = cv2.cvtColor(blurred, cv2.COLOR_BGR2HSV) # construct a mask for the color "green", then perform # a series of dilations and erosions to remove any small # blobs left in the mask mask = cv2.inRange(hsv, greenLower, greenUpper) mask = cv2.erode(mask, None, iterations=2) mask = cv2.dilate(mask, None, iterations=2) # find contours in the mask and initialize the current # (x, y) center of the ball cnts = cv2.findContours(mask.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) cnts = imutils.grab_contours(cnts) center = None # only proceed if at least one contour was found if len(cnts) > 0: # find the largest contour in the mask, then use # it to compute the minimum enclosing circle and # centroid c = max(cnts, key=cv2.contourArea) ((x, y), radius) = cv2.minEnclosingCircle(c) M = cv2.moments(c) center = (int(M["m10"] / M["m00"]), int(M["m01"] / M["m00"])) # only proceed if the radius meets a minimum size if radius > 10: # draw the circle and centroid on the frame, # then update the list of tracked points cv2.circle(frame, (int(x), int(y)), int(radius), (0, 255, 255), 2) cv2.circle(frame, center, 5, (0, 0, 255), -1) # update the points queue pts.appendleft(center) # loop over the set of tracked points for i in range(1, len(pts)): # if either of the tracked points are None, ignore # them if pts[i - 1] is None or pts[i] is None: continue # otherwise, compute the thickness of the line and # draw the connecting lines thickness = int(np.sqrt(args["buffer"] / float(i + 1)) * 2.5) cv2.line(frame, pts[i - 1], pts[i], (0, 0, 255), thickness) # if the video writer is None *AND* we are supposed to write # the output video to disk initialize the writer if writer is None and args["output"] is not None: fourcc = cv2.VideoWriter_fourcc(*"MJPG") writer = cv2.VideoWriter(args["output"], fourcc, 20, (frame.shape[1], frame.shape[0]), True) # if the writer is not None, write the frame with recognized # faces to disk if writer is not None: writer.write(frame)# do a bit of cleanupvs.release()# check to see if the video writer point needs to be releasedif writer is not None: writer.release()!ffmpeg -i output.avi output.mp4#@title Display video inlinefrom IPython.display import HTMLfrom base64 import b64encodemp4 = open("output.mp4", "rb").read()dataURL = "data:video/mp4;base64," + b64encode(mp4).decode()HTML("""""" % dataURL)Список использованной литературыАлгоритмы выделения контуров изображений // Хабрахабр. URL: https://habrahabr.ru/post/114452/ Ансамблевый метод машинного обучения, основанный на рекомендации классификаторов — URL: http://lib.knigi-x.ru/23raznoe/212318–1-v-state-daetsya-kratkoe-vvedenie-ansambli-klassifikatorov-mashinnom-obuchenii-opisivaet.phpИскусственный интеллект с примерами на Python (Джоши Р. - 2019)Компьютерное зрение. Современный подход (Форсайт Д., Понс Ж. - 2004)Интегральное представление изображений — URL: https://studfiles.net/preview/6234768/page:3/Обработка и анализ изображений в задачах машинного зрения (Визильтер Ю.В., и др. - 2010) Обработка изображений с помощью OpenCV (Г.Б. Гарсия, О.Д. Суарес, Х.Л.Э. Аранда, Х.С. Терсеро, И.С. Грасиа, Н.В. Энано – 2016)Основные термины (генерируются автоматически): USAN, SUSAN, изображение, классификатор, XML, детектор границ, оператор, оригинальное изображение, формула, компьютерное зрение. Canny Edge Detection — URL: https://docs.opencv.org/ 3.3.1/da/d22/tutorial_py_canny.htmlAdaBoost в OpenCV — Распознавание образов для программистов. — URL: http://recog.ru/blog/ opencv/page2/Canny Edge Detection — URL: https://docs.opencv.org/3.3.1/da/d22/tutorial_py_canny.html SUSAN Principle for Feature Detection // Oxford University. Wellcome Centre for Integrative Imaging. — URL: https://users.fmrib.ox.ac.uk/~steve/susan/susan/ node2.html The SUSAN Edge Detector in Detail // Oxford University. Wellcome Centre for Integrative Imaging. — URL: https:// users.fmrib.ox.ac.uk/~steve/susan/susan/node6.html#SECTION00042000000000000000 «Молодойучёный» .№ 7 (193) 18 Информатика . Февраль 2018 г. The SUSAN Principle for Feature Detection // Oxford University. Wellcome Centre for Integrative Imaging. — URL: https://users.fmrib.ox.ac.uk/~steve/susan/susan/node2.html
1. Алгоритмы выделения контуров изображений // Хабрахабр. URL: https://habrahabr.ru/post/114452/
2. Ансамблевый метод машинного обучения, основанный на рекомендации классификаторов — URL: http://lib.knigi-x.ru/23raznoe/212318–1-v-state-daetsya-kratkoe-vvedenie-ansambli-klassifikatorov-mashinnom-obuchenii-opisivaet.php
3. Искусственный интеллект с примерами на Python (Джоши Р. - 2019)
4. Компьютерное зрение. Современный подход (Форсайт Д., Понс Ж. - 2004)
5. Интегральное представление изображений — URL: https://studfiles.net/preview/6234768/page:3/
6. Обработка и анализ изображений в задачах машинного зрения (Визильтер Ю.В., и др. - 2010)
7. Обработка изображений с помощью OpenCV (Г.Б. Гарсия, О.Д. Суарес, Х.Л.Э. Аранда, Х.С. Терсеро, И.С. Грасиа, Н.В. Энано – 2016)
8. Основные термины (генерируются автоматически): USAN, SUSAN, изображение, классификатор, XML, детектор границ, оператор, оригинальное изображение, формула, компьютерное зрение. Canny Edge Detection — URL: https://docs.opencv.org/ 3.3.1/da/d22/tutorial_py_canny.html
9. AdaBoost в OpenCV — Распознавание образов для программистов. — URL: http://recog.ru/blog/ opencv/page2/
10. Canny Edge Detection — URL: https://docs.opencv.org/3.3.1/da/d22/tutorial_py_canny.html
11. SUSAN Principle for Feature Detection // Oxford University. Wellcome Centre for Integrative Imaging. — URL: https://users.fmrib.ox.ac.uk/~steve/susan/susan/ node2.html
12. The SUSAN Edge Detector in Detail // Oxford University. Wellcome Centre for Integrative Imaging. — URL: https:// users.fmrib.ox.ac.uk/~steve/susan/susan/node6.html#SECTION00042000000000000000 «Молодой учёный» . № 7 (193) 18 Информатика . Февраль 2018 г.
13. The SUSAN Principle for Feature Detection // Oxford University. Wellcome Centre for Integrative Imaging. — URL: https://users.fmrib.ox.ac.uk/~steve/susan/susan/node2.html
Вопрос-ответ:
Какие методы используются для определения объектов на картинке?
Для определения объектов на картинке используются статистические способы и модели, построенные на основе геометрии, физики и теории обучения.
Что такое машинное зрение?
Машинное зрение - это разработка создания машин, которые способны обнаруживать, отслеживать и систематизировать объекты на основе обработки данных с помощью статистических методов и моделей.
В каких областях применяется машинное зрение?
Машинное зрение применяется в искусственном интеллекте и включает в себя несколько действий, таких как распознавание содержания фотографии, обнаружение и отслеживание объектов на изображениях.
Какие науки находят применение в машинном зрении?
Машинное зрение основано на принципах геометрии, физики и теории обучения, которые используются для построения статистических моделей и методов обработки данных.
Что включает в себя разработка машинного зрения?
Разработка машинного зрения включает в себя создание компьютерных систем, способных обнаруживать, отслеживать и классифицировать объекты на основе обработки визуальной информации с помощью статистических методов и моделей обработки данных.
Какие методы используются для определения объектов на картинке в машинном зрении?
Для определения объектов на картинке в машинном зрении используются различные методы, включающие статистические способы и модели, построенные на основе геометрии, физики и теории обучения.
В чем заключается важность машинного зрения в искусственном интеллекте?
Машинное зрение является важной областью в искусственном интеллекте, поскольку оно позволяет машинам обнаруживать, отслеживать и систематизировать объекты. Это включает в себя несколько действий, таких как распознавание содержания фотографии. Данная технология имеет большой потенциал в различных областях, например, в медицине, автономных транспортных средствах и др.
Какие научные дисциплины используются при обработке данных в машинном зрении?
Для обработки данных в машинном зрении используются научные дисциплины, такие как геометрия, физика и теория обучения. Они позволяют разрабатывать статистические способы и модели для определения и классификации объектов на картинках.
Что такое компьютерное зрение и какую задачу оно решает?
Компьютерное зрение - это разработка сотворения машин, способных создавать обнаружение, отслеживание и систематизацию объектов на картинках. Одной из задач компьютерного зрения является распознавание содержания фотографии, что имеет большое значение в различных областях, таких как медицина, робототехника, безопасность и другие.