목록2024/12 (18)
printf("ho_tari\n");
2024.12.11 2일차에도 이어서 로봇팔의 동작 설계와 관련된 실습 교육이 진행되었다. 로봇팔이 도작하는 기준인 축의 좌표계에 대해서 학습을 하고 직접 로봇팔에 적용을 해보았다. https://youtube.com/shorts/j1YgIy4Y4Ck 또한, 단순 앞, 뒤, 옆으로만의 직진 동작이 아닌 선형 동작과 같은 다양한 동작들도 설계할 수 있다. https://youtube.com/shorts/p6cVcSnTYOI https://youtube.com/shorts/Q59ajVGLIsY 로봇팔을 조작하는 프로그램은 코딩과 매우 유사하다. 따라서, 동작을 수행하기 위해 그 과정을 설계하는 방법이 코딩과 비슷하여 비교적 이해하기가 쉬웠다. 함수와 같은 기능을 하는 Sub를 이용하여 하나의 동작에 대한..
2024.12.10 두산로보틱스의 로봇팔을 활용하여 실습해보는 프로젝트가 시작되었다. 두산로보틱스에서 제공하는 DART 프로그램을 활용하여 로봇팔을 조작하고 동작을 설계해보는 준비를 하였다. DART 프로그램을 통해 두산로보틱스의 로봇팔과 통신을 하고나면 로봇팔의 다양한 조작을 설계할 수 있다. 로봇팔의 위치 포인트를 저장해가며 동작을 수행하는 waypoint를 설계해보았다. .또한, 협동 로봇의 특징인 사람과 함께 협업을 수행할 수 있도록 안전 구역 설정도 할 수 있어 안전 구역을 설정하면 그 안전 구역 내에서 로봇팔의 동작 속도를 감소시키는 것과 같이 조정할 수 있다. https://youtube.com/shorts/Z764z3O74aE
2024.12.09 5일차 마지막 날에는 학습시킨 모델을 이용하여 카메라가 실시간으로 PCD를 인식하고 실시간으로 객체를 탐지해 바운딩 박스를 생성하고 모든 클래스를 탐지하면서 그 PCD가 정상품이라면 정상품으로 판단하고 불량품이면 불량품으로 판단하도록 하였다. import timeimport serialimport requestsimport numpy as npimport osimport cv2import jsonimport loggingimport randomimport sqlite3from datetime import datetimefrom requests.auth import HTTPBasicAuthimport threadingimport queue # 큐를 사용하기 위한 임포트# --..
2024.12.06 4일차부터는 YOLOv6의 M모델과 L모델의 객체 탐지 정확도를 향상시키기 위해 계속해서 여러 데이터들을 만들고 학습시키는 것을 반복하였다. 학습 데이터의 수를 다르게 해보며 모델을 학습시켰다. 데이터의 수를 조금씩 늘려가보기도 하고 데이터의 경향성을 일관되게 만들어보기도 하였다. YOLOv6-M모델의 L모델보다 더 정확도가 높다고 판단하여 M 모델을 사용하기로 결정하였고 계속해서 M 모델을 발전시키려고 하였다. M 모델의 mAP 수치는 80% 후반으로 계속해서 높게 나왔지만 이미지에 대해 객체를 탐지하는 정확도가 높지 않았고 그 원인에 대해 분석을 하고 해결해보려고 하였지만 쉽게 해결되지 않았다.
2024.12.05 3일차에는 프로젝트를 진행하기 위해 필요한 데이터들을 직접 수집하고 라벨링하고 모델에 학습시켜 예측 결과를 확인해보았다. 먼저 라즈베리 피코안에 설계되어 있는 여러 센서들을 탐지하기 위해 라벨링해야할 데이터를 컨베이어 벨트를 이용하여 촬영하고 저장하여 수집하였다. https://youtube.com/shorts/iStBSuXnV2U import timeimport serialimport requestsimport numpyfrom io import BytesIOfrom pprint import pprintimport osimport cv2ser = serial.Serial("/dev/ttyACM0", 9600)# API endpointapi_url = ""def get_img(): ..
2024.12.04 2일차에는 1일차 때 라벨링 한 샘플 데이터를 YOLOv6-n 모델을 이용하여 학습시킨 뒤 prediction을 해보았다. 샘플 데이터의 화질이 매우 좋지 않아서 그런지 확실히 객체를 정확하게 탐지하지 못하는 것 같다. 파이썬 코드를 작성하여 수집한 이미지 데이터에 학습하여 생성한 YOLOv6 모델을 적용시켜 객체 탐지 박스가 생성된 이미지를 생성하여 저장하도록 하였다. import cv2import requestsfrom requests.auth import HTTPBasicAuthimport osimport globimport jsonimport randomfrom collections import Counter# ------------------------------# 1. ..
2024.12.03 새로운 프로젝트가 다시 시작 되었다. 이번 프로젝트의 주제는 컨베이어 벨트를 이용해 객체를 이동시키고 카메라를 통해 이동되는 객체 안의 다양한 센서들을 YOLO를 활용해서 탐지하고 객체 박스를 생성하는 것이다. 전체적으로 주제가 간단한만큼 모델의 객체 탐지 정확도를 향상시키는 것에 집중을 해야할 것 같다. 1일차에는 superb-ai에서 제공하는 데이터 라벨링 플랫폼을 이용하여 바운딩 박스, 폴리곤, keypoint 등을 이용하여 라벨링 해보는 실습을 하였다. 이렇게 superb-ai의 라벨링 플랫폼의 사용법을 익힌 뒤, 미리 제공받은 데이터 샘플들을 라벨링해보고 YOLOv6 모델을 이용하여 객체 탐지 학습을 시키기 위한 train, validation 데이터를 준비하였다.