분류 전체보기 1075

Image Bounding Box 작업을 위한 윈도우즈10 LabelImg 설치

Image classification 작업에서 항상 맞닥뜨리는이미지의 bounding box 작업을 하기 위한 labelImg 를 아래 url 사이트를 참조하여 윈도우즈10 에 설치하자. 아래 사이트를 클릭하면 자동으로 download 에 zip 파일이 다운되므로 압축해제하고 labelImg.exe 를 클릭하면 된다. https://www.dropbox.com/s/kqoxr10l3rkstqd/windows_v1.8.0.zip?dl=1 labelImg 를 다운하기 위한 Github 사이트에 보면 윈도우즈10 아나콘다에 설치방법이 있으나 설치가 잘되지 않는다. 특히 labeling 작업이 python 과 직접적인 연관이 없으므로 별도로 앞서 다운 실행파일을 설치 후 이미지들을 대상으로 작업 후 python ..

OpenCV 명령을 응용한 하네스 커넥터 확대 이미지의 의 윤곽선 추출

하네스를 생산현장에서 대량으로 생산되는 하네스 선 하나를 대상으로 확대가능한 웹캠으로 이지지를 촬영하여 윤곽선을 추출해 보자. 측정 가능한 자(ruler) 와 함께 이미지를 얻어낼 경우에는 추출된 윤곽선들간의 길이 측정이 가능하며 이로서 커넥터가 압착과정에 의해 제대로 만들어졌는지 품질 확인이 가능하다. OpenCV, imutils, matplotlib 라이브러리를 헤딩 영역에 import 하자. 1 import cv2 import imutils import matplotlib.pyplot as plt 확대 가능한 웹캠 카메라로 이미지를 촬영하자. 화대 배율 1000X 는 생구라이지만 10x 정도는 잘 찍힌다. 가격은 웹캠 수준이며 사용법 또한 웹캠과 동일하다. 준비한 “harness.jpg” 이미지를 ..

Keras 학습가중치 callback 업로딩에 의한 이미지 분류

tf.keras.utils.image _dataset_from_directory 명령을 사용하여 이미지 데이터 세트를 종류별로 분류하는 학습 과정에서 callback 파라메터를 설정하여 내부적으로 생성되는 가중치를 특정 폴더 주소인 checkpoint 주소를 지정하여 저장하자. 차 후에 별도의 테스트 데이터를 준비한 후에 가중치 생성 시에 사용했던 모델을 불러 낸 후 저장된 가중치를 업로딩하여 학습과정 없이 평가(evaluation) 작업을 실행해 보자. 첫째로 가중치를 생성했던 모델을 그대로 부른다. 둘째로 checkpoint 경로를 지정하자. training_1 은 폴더명이며 현재의 실행파일이 위치한 폴더에 설치된다. 셋째로 tf.keras.callbacks.ModelCheckpoint 명령을 사용하..

tf.keras.preprocessing.image.ImageDataGenerator 에서 tf.keras.utils.image _dataset_from_directory 로 변경하여 이미지 분류

헤더 영역에 필요한 라이브러리들을 선언하자. 1 import os import tensorflow as tf from keras.models import Sequential from keras.layers import Dense, Dropout, Flatten from keras.constraints import maxnorm from keras.optimizers import Adam from keras.layers.convolutional import Conv2D from keras.layers.convolutional import MaxPooling2D from keras.utils import np_utils import numpy as np import time import matplotlib...

Keras 머신러닝 학습 가중치 저장 및 업로딩에 의한 이미지 분류

참조: 구글 Load and preprocess images https://www.tensorflow.org/tutorials/load_data/images ※ ImageDataGenerator https://www.tensorflohttps://www.tensorflow.org/api_docs/python/tf/keras/preprocessing/image/ImageDataGenerator ImageDataGenerator 기법은 deprecicated 하므로 tf.keras.utils.image_dataset_from_directory 명령을 사용하자. 과거에는 tf.keras.preprocessing.image.ImageDataGenerator 명령을 사용했으나 이미 낡았으므로 앞으로는 tf.ker..

카테고리 없음 2023.06.03

학습가중치 저장 및 업로딩에 의한 Keras MNIST 수기문자 판독

참조: 구글 Save and load models https://www.tensorflow.org/tutorials/keras/save_and_load TensorFlow.Keras 에 의한 MNIST 수기문자 판독 머신러닝 학습과정에서 생성되는 학습 가중치값을 checkpoint 폴더에 저장했다가 다시 불러내서 즉 사전학습시킨 가중치를 활용하는 방법을 살펴보자. 이 기법은 다른 OS 시스템에 porting 을 목적으로 하는 TensorFlow Lite 에서의 기법과는 다른 방법이다. 예를 들면 아나콘다에서 TensorFlow 로 학습 시킨 가중치를 저장해 두었다가 아나콘다 OpenCV 에서 캡춰한 이미지를 대상으로 객체를 탐지해 볼 수 있다. 텐서플로우 케라스를 사용한 MNIST 학습 및 검증 과정에서..

tflite 사전학습 가중치를 사용한 OpenCV 이미지 분류

이미지 데이터 라벨값 Detection 결과 데이터 참조: Object detection with Tensorflow model and OpenCV https://towardsdatascience.com/object-detection-with-tensorflow-model-and-opencv-d839f3e42849 import tensorflow_hub as hub # 코코데이터로 학습한 가중치 라이브러리를 불러 오는 곳 import cv2 import numpy import pandas as pd import tensorflow as tf import matplotlib.pyplot as plt width = 1028 height = 1028 #Load image by Opencv2 img = cv2...

Opencv 2023.06.02

아두이노 편집기 IDE 사용법, LED ON OFF 배선 및 코딩

아두이노 IDE 편집기 아두이노는 키보드와 디스플레이가 없으며 USB 케이블에 의항 양방향을 통신을 사용하여 PC에서 아두이노IDE 즉 편집기에서 코드를 작성 빌드하여 업로딩 한다. 아울러 아두이노 CPU에서 실행되어 출력되는 결과는 편집기 시리얼 모니터 창을 열어서 볼 수 있으며, 출력 결과가 그래프라면 시리얼 플로터를 사용한다. 2. 아두이노 편집기 아두이노의 USB 케이블을 컴퓨터와 연결한다. 시작 바에서 아두이노 로고를 눌러 편집기를 연다. 예능인을 위해 출시된 아두이노의 코드를 스케치라 한다. 다음은 편집기 창에서 가장 빈번하게 사용하는 메뉴들만을 박스 해 보았다. 예제에서는 코딩 초보자를 위한 코드 사례를 제공. 하지만 배선은 각자 준비해야 한다. 3. 새파일 생성, 입력, 저장 및 빌드 새파..

카테고리 없음 2023.06.02

2023 지식재산 인재양성 사업단 "디딤돌 포럼"

2023년 5월 31일 수요일 오후 6시 신산업분야 지식재산 융합인재 양성사업단에서 주최한 제 2회 디딤돌 포럼이 유전생명공학관 1층 시청각실 강당에서 기계공학과 오환섭 교수님의 초청으로 특허정보개발원 특강 강사 조현오 박사님을 모시고 개최되었다. 일반적인 특허 신청 절차를 포함한 개론은 2022년 11월말 아두이노 무선 RC카 제작 경진대회 중에 오환섭 교수님의 특강이 있었다. 한편 이번 포럼에서는 한걸음 더 나아가 국내나 국제적으로 항상 큰 문제가 되고 있는 첨단 신산업 분야의 특허분쟁이 일어나는 원인인 특허 도용을 원천적으로 방지할 수 있도록 연구 개발 과정 전주기에 걸쳐 특허 획득 이전에도 차 후에 연구 내용을 합법적인 특허 내용ㅇ,로 인정 받을수 있는 특허 연구관리 노트 작성법을 세부적으로 다루..

외부초청강연 2023.05.31

OpenCV Hough Transform에 의해 추출된 직선의 속성 확인 : 개인별 과제

OpenCV에서 휴변환에 따라 line 요소가 구체적으로 어떤 형태로 얻어지는지 인위적인 그림 파일을 만들어 적용해 보자. 그림판을 사용하여 픽셀 해상도가 640 x 480 이 되도록 크기를 정한 후 화면 중앙에 수평선을 그은 후 파일명을 rect_line, 확장자를 jpg 로 저장하자. 아래의 이미지 파일을 다운받아 활용하자.single_line_detection.py 한편 그림판에서 수평선을 긴 직사각형으로 확대한 후 커서를 사용하여 위와 아래 코너의 좌표를 찍어 보면 (0, 238) 과 (0, 242) 좌표 값을 얻을 수 있다. 오른쪽 끝의 좌표는 (639,238) 과 (639, 242) 를 얻을 수 있다. cv2.imread 명령을 사용하여 “rect_line.jpg”를 읽어 img 로 두고 복제..

자율주행 2023.05.19