파이썬으로 배우는 엔지니어링

From Dr.Ho's Wiki
Jump to navigation Jump to search

"파이썬으로 배우는 엔지니어링"은 간단한 파이썬 문법, 엔지니어링의 적용, 인공지능을 이용한 음성과 영상제작에의 적용의 3부로 구성되어 있습니다. 다양한 분야의 공학자나 공학에 관심이 있는 분들 그리고 음성및 영상 제작 편집에 관심이 있는 분들에게 유용한 책입니다. 동영상의 필러(췌언)과 무음을 제거하는 방법에 대한 사례 동영상 링크입니다.

PythonEngBookimage.jpeg

책은

=== 다음의 장소에서 구매 ===

할 수 있습니다. 다음의 내용은 책의 요약과 코드 내용을 공유입니다.


Contents

파이썬 배우기

편리한 파이썬

먼저, 첫페이지에 있는 마인드맵의 단축주소/QR코드를 사용하여 코드 및 보조 설명 등의 참고 자료를 잘 사용하기 바랍니다. 파이썬은 프로그래밍 세계에서 중요한 위치를 차지하고 있습니다. 이 언어의 다재다능함은 여러 분야에서의 활용을 가능하게 합니다. 이 책은 독자들이 파이썬을 배워 실무 엔지니어링 분야에서 맡은 바 역량을 발휘하는 데 도움을 줄 것 입니다.

1990년대 초반 Guido van Rossum에 의해 개발된 파이썬은 간결하고 읽기 쉬운 문법, 강력한 표준 라이브러리, 크로스 플랫폼 호환성을 자랑합니다. 또한, 거대한 커뮤니티 지원 덕분에 지속해서 발전하고 있습니다. 파이썬은 다른 언어로 개발된 프로그램의 라이브러리를 확장하여 연계 사용이 편리한 프로그래밍 언어입니다. 예를 들어, C, C++, Java, R과 같은 언어로 작성된 라이브러리를 파이썬에서 쉽게 활용할 수 있습니다. SciPy, NumPy, TensorFlow, PyTorch와 같은 라이브러리는 파이썬에서 수학, 과학 계산 및 딥러닝을 위해 널리 사용됩니다. 파이썬은 오픈소스 프로젝트로서, 라이선스 비용 없이 사용할 수 있습니다. 무엇보다도, 수많은 개발자와 커뮤니티의 지원을 받으며, 이를 통해 항상 최신 기술과 흐름에 발맞추고 있습니다.

이 책은 혁신적인 파이썬 학습 및 활용 방법을 제시합니다. 그림 1.1.1에서 보인 바와 같이 인공지능 모델인 ChatGPT를 같이 활용하여 파이썬 코드를 생성하고 활용할 것입니다. 파이썬과 chatGPT라는 두 거인의 어깨를 잡고, 이를 이용하여 독자들은 원하는 코드를 빠르게 생성하고, 이해하고, 실행할 수 있으며, 파이썬 프로그래밍을 신속하게 습득할 수 있습니다. 이 책의 저자도 숙달된 파이썬 프로그래머가 아닙니다. 이 책에서는 ChatGPT와 같은 도구를 활용하여 파이썬 코드를 작성하는 방법을 배우고 이를 공유하고자 합니다. 이러한 방법으로 처음 파이썬을 접하는 이들도 쉽게 프로그래밍을 시작할 수 있을 것입니다.

파이썬의 설치: 주피터 랩과 코랩의 활용

주피터 랩과 구글 코랩등의 사용 도구의 자세한 절차와 방법은 책을 참고하시고 또는 윗쪽의 마인드맵의 아나콘다의 설치와 구글코랩의 링크를 눌러 참고하기 바랍니다.

주피터 랩

(1) 주피터 랩 설치 방법
(2) 주피터 랩 사용법

구글 코랩 (Google Colab)

(1) 구글 코랩의 특징
(2) 구글 코랩 사용법

파이썬의 실행

아래의 각 링크에 연결되어 있는 코드들을 실행해 보세요.

파이썬의 출력, 버전 확인, 들여쓰기

파이썬의 변수 선언, 문자열

파이썬 데이터 구조: 리스트, 튜플, 집합, 딕셔너리

아래의 리스트, 튜플, 세트, 딕셔너리에 연결되어 있는 코드들을 실행해 보기 바랍니다.

(1) 리스트
(2) 튜플
(3) 세트 (Set)
(4) 딕셔너리

파이썬의 반복문과 제어문

파이썬의 함수와 형(type)

파이썬에서 파일 다루기

파이썬에서 수식/그래프

2. 파이썬 엔지니어링 솔루션

연립 방정식 풀기

마디 해석법

망로 해석법

정현파의 해석

적분하기

정현파의 평균값, 실효값

전력 구하기

페이저의 해석

오일러 공식과 페이저

임피던스와 RLC 회로

지오지브라(GeoGebra)를 이용하기

퓨리에 급수

퓨리에 급수 그래프 그리기

퓨리에 급수로 구형파 만들기

퓨리에 급수로 삼각파 만들기

퓨리에 변환

데이터값의 퓨리에 변환

(1) 펄스파의 퓨리에 변환
(2) 임펄스 함수의 퓨리에 변환
(3) 정현파의 퓨리에 변환
(4) Sync 함수의 퓨리에 변환

퓨리에 변환의 쌍대성

퓨리에 변환을 이용한 소리 분석

주파수 필터

저역 통과 필터

고역통과필터

대역통과 (RLC 밴드패스)

컨볼루션과 라플라스

컨볼루션

(1) 컨볼루션의 활용
(2) 이미지 영역의 컨벌루션 활용

라플라스 변환의 의미

라플라스 변환의 활용

(1) 심볼릭 라플라스 변환/역변환
(2) 전달합수의 주파수 응답 특성 분석
(3) 라플라스를 이용한 회로 해석

미분방정식과 벡터 미적분

미분방정식과 풀이

(1) 1차 선형 미분 방정식의 풀이 (심볼릭)
(2) 2차 미분방정식의 풀이
(3) 선형 연립 미분방정식의 풀이
(4) 미분방정식의 수치적 해법

벡터 미적분과 풀이

(1) 그래디언트
(2) 다이버전스
(3) Rotation
(4) 라플라시안

확률 통계의 활용,

기술 통계

확률 분포

추론 통계의 원리

데이터 분석 기술

파이썬을 이용한 음성및 영상 처리 솔루션

인공지능 기술의 이해와 음성 인식 처리

음성 인식과 처리

Whisper 음성 인식 라이브러리

이미지 인식과 처리

이미지 해상도 개선

이미지 잡음 제거

이미지배경 제거

영상 인식과 처리

영상 데이터의 특성 이해

페이스 모핑 기술

영상 잡음 및 무음 제거

(1) Olive 0.1 비디오 편집 도구를 이용한 방법
(2) 파이썬 라이브러리를 이용한 무음/췌언 제거
(3) 음성 인식 기능을 활용한 췌언 제거

Wav2Lip을 사용한 립싱크

MakeItTalk을 통한 음성 애니메이션

기타 DeepFake 기술

멀티미디어 데이터와 작업 도구

다양한 멀티미디어 작업을 수행할 수 있는 오픈소스와 프리웨어 도구에 대해 공부합니다.

Audacity를 이용한 음성 처리

최고의 오픈소스 음성 편집 도구인 Aucacity입니다.

(1) Audacity의 GUI
(2) Audacity의 기능

이미지 처리 도구 (Gimp)

오픈소스 이미지 편집도구로 포토숍을 대체할 수 있습니다.

영상편집 도구 (OpenShot, OBS)

OpenShot 비디오 편집도구와 화면 중첩및 구성기능이 있는 OBS도구는 멀티미디어 제작에 필수적인 도구입니다.링크를 연결하여 제작한 동영상을 참고하기 바랍니다. (1) OpenShot을 이용한 비디오 편집 (2) OBS를 활용한 스트리밍 및 녹화

가상 캐릭터 제작 도구 (Lens Studio)

프리웨어인 Lens Studio는 다양한 캐릭터 변환 효과를 줄 수 있는 유용한 도구입니다.

멀티미디어 프로젝트 활용 사례

Lens Studio + OBS +OpenShot으로 만든 비디오 샘플입니다. 비디오를 Moodle과 결합하여 콘텐츠를 연계하는 방법을 보여주는 샘플입니다.