전체 글 48

[자기개발] Emotion

가비아 톨리키타 - '당신의 뇌는 변화가 필요합니다'를 참고했습니다. 문제시 삭제하겠습니다.여러분은 감정을 왜 느끼고 어떤 원리로 작동하며 우리에게 무슨 영향을 미친다고 생각하시나요?결론부터 말하자면 감정은 우리의 생존을 위해 반드시 필요한 도구입니다. 시간을 거슬러 약 1만 년 전 인간이 수렵 채집 공동체로 살고 있을 때를 상상해 보겠습니다. 당시에 환경은 지금과 비하면 매우 열악하고 위험했습니다 그러나 지금처럼 고도화된 과학 기술이 없었기에 툭하면 다치고 툭하면 죽고를 반복했죠. 그렇다고 이렇다 할 신체적 강점도 없었기에 다른 포유류(다른 종)와 별반 다르지 않았습니다. 먹이를 찾거나 사냥하기 위해 두뇌를 써야 했으며, 동시에 다른 종에게 사냥당하지 않도록 조심해야 했습니다. 때문에 인간은 환경에 즉..

개발 2023.05.29

[개발] 담배 피는 사람 분류 (합성곱 신경망)

tensorflow로 합성곱 신경망을 구현하여 담배를 피는사람을 분류해보겠습니다. https://www.kaggle.com/datasets/vitaminc/cigarette-smoker-detection Cigarette Smoker DetectionCan you detect people smoking cigarette in an image?www.kaggle.com위 데이터셋을 사용하여 모델을 훈련시켰습니다.데이터 로드image_dataset_from_directory( ) image_dataset_from_directory 함수는 디렉토리에서 이미지 데이터셋을 생성하는 유틸리티 함수입니다. 이 함수를 사용하면 이미지 데이터셋을 쉽게 로드하고 전처리할 수 있습니다.image_folder = "folde..

개발 2023.05.21

[컴퓨터 비전] 4 영역 연산

화소 입장에서 바라본 영상 처리 연산이란 화소가 새로운 값을 받는 과정입니다. 새로운 값을 어디에서 받느냐에 따라 점 연산, 영역 연산, 기하 연산의 세 종류로 구분할 수 있습니다. 점 연산은 자기 자신으로부터 값을 받고, 영역 연산은 이웃 화소의 값을 보고 새로운 값을 결정합니다. 기하 연산에서는 기하학적 변환에 따라 다른 곳으로부터 값을 받습니다. 컨볼루션(convolution) 컨볼루션은 입력 영상의 각 화소에 필터를 적용해 곱의 합을 구하는 연산입니다. 필터를 입력 영상의 1, 2, 3, ..., 8 위치에 차례로 씌우고 곱의 합을 구해 출력 영상에 씌웁니다. 출력 영상에 씌우는 이유는 - 연상 도중 본래 화소 값이 바뀌면 다음 화소 처리를 할 때 오류가 발생하기 때문입니다. (a) 그림은 위치 ..

[seaborn 시본(2)] 데이터 시각화 - 범주 데이터

정형 데이터는 크게 수치형 데이터와 범주형 데이터로 나뉩니다. 수치형 데이터는 사칙 연산이 가능한 데이터입니다. 범주형 데이터는 사칙 연산이 불가능합니다. 이러한 수치형 데이터를 시각화를 하여 데이터의 구성 및 피처 관리를 효율적으로 할 수 있습니다. matplotlib(맷플롯립)과 seaborn(시본) 모두 파이썬으로 그래프를 그릴때 많이 사용하는 라이브러리입니다. 그러나 이 포스트는 seaborn으로 예제를 풀겠습니다 (더 간결하고 정결합니다) import seaborn as sns titanic = sns.load_dataset('titanic') # 타이타닉 데이터 불러오기 seaborn은 load_dataset( ) 함수로 특정 데이터셋을 쉽게 불러올수 있습니다. titanic 데이터셋을 분석해..

Python/기타 2023.04.30

[seaborn 시본(1)] 데이터 시각화 - 수치형 데이터

정형 데이터는 크게 수치형 데이터와 범주형 데이터로 나뉩니다. 수치형 데이터는 사칙 연산이 가능한 데이터입니다. 범주형 데이터는 사칙 연산이 불가능합니다. 이러한 수치형 데이터를 시각화를 하여 데이터의 구성 및 피처 관리를 효율적으로 할 수 있습니다. matplotlib(맷플롯립)과 seaborn(시본) 모두 파이썬으로 그래프를 그릴때 많이 사용하는 라이브러리입니다. 그러나 이 포스트는 seaborn으로 예제를 풀겠습니다 (더 간결하고 정결합니다) import seaborn as sns titanic = sns.load_dataset('titanic') # 타이타닉 데이터 불러오기 seaborn은 load_dataset( ) 함수로 특정 데이터셋을 쉽게 불러올수 있습니다. titanic 데이터셋을 분석해..

Python/기타 2023.04.30

[개발] OpenCV 감마 조절

웹 캠에서 영상을 받아오고, 실시간으로 사용자가 'u' (up) , 'd' (down) 버튼으로 감마를 조절할 수 있는 코드를 작성하겠습니다. import cv2 as cv import numpy as np 나중에 gamma 조절 함수의 반환값으로 np.uint8 타입을 써야하므로 numpy를 임포트합니다 gammaValue = 1.0 # 감마 기본값 초기화 이번 개발중 가장 오류가 많이 생긴 이유이자. 가장 기본적인 초기화를 (while 밖에) 해 줍니다. 만일 while문 안에 초기화 시키면 매초마다 frame을 읽어올 때 gammValue도 초기화 되기에 u, d으로 감마를 조정해도 다음 프레임부터는 1.0 감마로 출력되게 됩니다. while True: global gammaValue # 감마 초기..

개발 2023.04.25

[개발] OpenCV 얼굴 모자이크

웹 캠에서 얼굴 영상을 받아오고, 출력 값으로 받아온 얼굴 이미지만 모자이크 처리해서 모자이크 된 영상을 출력하는 프로그램을 작성하겠습니다. import cv2 as cv import sys 사람 얼굴을 검출하는 객체를 생성하기 위해 cv2 라이브러리를 불러오고, 예외처리를 위해 sys를 임포트 합니다. face_cascade = cv.CascadeClassifier(cv.data.haarcascades + 'haarcascade_frontalface_default.xml') OpenCV는 얼굴 검출을 위한 캐스케이드 분류기가 있습니다. 캐스케이드는 유사 하르(haar-like) 특징을 사용하여 얼굴을 검출합니다. 유사 하르란 간단히말해서. 하얀 영역 화소값에서 검정 영역 화소값을 빼면 사람의 얼굴 특징..

개발 2023.04.25

[컴퓨터 비전] 1 영상의 형태

영상 획득과 표현 우리가 일상에서 직접 영상이나 이미지를 얻을려면 카메라를 사용할 수 있습니다. 카메라는 물체에서 반사된 빛을 작은 구멍에 통과시켜, 뒷면에 있는 영상 평면(image plane)에 맺힙니다. 영상 평면은 생물의 눈일 경우 망막, 필름 카메라일 경우 필름, 디지털 카메라의 경우 CCD 센서가 됩니다. 아날로그(빛) 신호를 받은 CCD 센서는 디지털로 변환하는 과정에서 샘플링(sampling)과 양자화(quanizaion)을 수행합니다. 샘플링은 2차원 영상 공간을 가로 N개 세로 방향으로 M개 구간으로 나눕니다. 이렇게 형성된 한 점을 화소(pixel) 라 하고, M x N을 영상의 크기, 또는 해상도(resolution) 라 합니다. 양자화는 화소의 명암을 L개 구간으로 나눕니다. 보통..

[컴퓨터 비전] 3 점 연산

화소 입장에서 바라본 영상 처리 연산이란 화소가 새로운 값을 받는 과정입니다. 새로운 값을 어디에서 받느냐에 따라 점 연산, 영역 연산, 기하 연산의 세 종류로 구분할 수 있습니다. 점 연산은 자기 자신으로부터 값을 받고, 영역 연산은 이웃 화소의 값을 보고 새로운 값을 결정합니다. 기하 연산에서는 기하학적 변환에 따라 다른 곳으로부터 값을 받습니다. 앞서 공부한 오츄 알고리즘(이진화)은 점 연산에 속합니다. 오츄 알고리즘 오츄 알고리즘 은 0 화소의 분산과 1 화소의 분산을 더하여나온 t 중가장 낮은 값의 t를임곗값으로 사용해 이진화 합니다. 감마 조절 인간의 눈은 빛의 밝기 변화에 비선형적으로 반응합니다. 그 예로 명암 10을 20으로 올렸을 때와 120을 130으로 올렸을 때는 같은 양만큼 늘었지만..

[SQL] DML - SELECT {JOIN}

[SQL] DML - 데이터 조작 을 학습하고 와주시기 바랍니다. 우선 다음 코드를 작성해 주시기 바랍니다. create table product ( pcode varchar2(10) primary key, name varchar2(20), cost number(10)); create table shop ( scode varchar2(10) primary key, sname varchar2(20)); create table salelist ( saleno number(10) primary key, pcode varchar2(10) not null, saledate date, scode varchar2(10) not null, amount number(10)); insert into product valu..

DataBase/SQL 2023.04.13