너무도 아름답고 과학적인 글자, 한글 珞
다른 언어에 비해 손글씨 데이터셋이 적고, 만들어진 손글씨 예측 모델의 인식률이 낮은 점이 아쉬워 직접 데이터를 생성하고 간단한 iOS 애플리케이션을 만들어봤습니다.
2019년 2월 23일 KCD 행사에서 케라스 코리아 팀에서 발표했던 자료를 보완/수정했습니다.
관련 코드는 아래 링크에서 확인할 수 있습니다.
https://github.com/MijeongJeon/KoreanClassification_Keras_Coreml
너무도 아름답고 과학적인 글자, 한글 珞
다른 언어에 비해 손글씨 데이터셋이 적고, 만들어진 손글씨 예측 모델의 인식률이 낮은 점이 아쉬워 직접 데이터를 생성하고 간단한 iOS 애플리케이션을 만들어봤습니다.
2019년 2월 23일 KCD 행사에서 케라스 코리아 팀에서 발표했던 자료를 보완/수정했습니다.
관련 코드는 아래 링크에서 확인할 수 있습니다.
https://github.com/MijeongJeon/KoreanClassification_Keras_Coreml
The document discusses global illumination techniques, including direct illumination, indirect illumination, radiosity, and photon mapping. Radiosity involves subdividing surfaces into patches and calculating light transport between patches. It was introduced in 1984. Photon mapping is a two-pass Monte Carlo method where photons are traced in the first pass to construct a photon map, which is then used in the second pass for rendering. It was introduced in 1995 and uses techniques like Russian roulette. Both radiosity and photon mapping can be used to simulate indirect illumination in games and productions.
NDC2016에서 발표한 카툰999의 포스트모템 발표입니다.
피드백의 힘이라는 주제로 카툰999를 개발하며 어떻게 유저들의 피드백을 구분하고 받아들였는지, 피드백을 반영할 때 주요한 사항들은 무엇이 있는지에 대해 정리해보았습니다. 사실 설명없이 문서만으로는 부족함이 있을수도 있겠지만 많은 분들께 도움이 되길 바랍니다! :)
무...물론 카툰999도 다운받아주시면 감사...!!
Data-oriented design (DOD) focuses on how data is accessed and transformed, rather than how code is organized. This improves performance by minimizing cache misses and allowing better utilization of parallelism. The document provides an example comparing an object-oriented design (OOD) approach that stores related data together in objects, resulting in scattered memory access and many cache misses, versus a DOD approach that groups together data that is accessed together, resulting in fewer cache misses and faster performance.
The document discusses global illumination techniques, including direct illumination, indirect illumination, radiosity, and photon mapping. Radiosity involves subdividing surfaces into patches and calculating light transport between patches. It was introduced in 1984. Photon mapping is a two-pass Monte Carlo method where photons are traced in the first pass to construct a photon map, which is then used in the second pass for rendering. It was introduced in 1995 and uses techniques like Russian roulette. Both radiosity and photon mapping can be used to simulate indirect illumination in games and productions.
NDC2016에서 발표한 카툰999의 포스트모템 발표입니다.
피드백의 힘이라는 주제로 카툰999를 개발하며 어떻게 유저들의 피드백을 구분하고 받아들였는지, 피드백을 반영할 때 주요한 사항들은 무엇이 있는지에 대해 정리해보았습니다. 사실 설명없이 문서만으로는 부족함이 있을수도 있겠지만 많은 분들께 도움이 되길 바랍니다! :)
무...물론 카툰999도 다운받아주시면 감사...!!
Data-oriented design (DOD) focuses on how data is accessed and transformed, rather than how code is organized. This improves performance by minimizing cache misses and allowing better utilization of parallelism. The document provides an example comparing an object-oriented design (OOD) approach that stores related data together in objects, resulting in scattered memory access and many cache misses, versus a DOD approach that groups together data that is accessed together, resulting in fewer cache misses and faster performance.
Python과 Tensorflow를 활용한 AI Chatbot 개발 및 실무 적용Susang Kim
도입
AI Chatbot 소개
Chatbot Ecosystem
Closed vs Open Domain
Rule Based vs AI
Chat IF Flow and Story Slot
AI기반의 학습을 위한 Data 구성 방법
Data를 구하는 법 / Train을 위한 Word Representation
Data의 구성 / Data Augmentation(Intent, NER)
자연어처리 위한 AI 적용 방안
Intent (Char-CNN) / QnA (Seq2Seq)
Named Entity Recognition (Bi-LSTM CRF) / Ontology (Graph DB)
Chatbot Service를 위한 Architecture 구성
Chatbot Architecture
NLP Architecture
Web Service Architecture
Bot builder / Chatbot API
Test Codes for Chatbot
실무에서 발생하는 문제와 해결 Tips
Ensemble and voting / Trigger / Synonym(N-Gram)
Tone Generator / Parallel processing / Response Speed
마무리
[설명 코드]
Text Augmentation / Slot Bot / QA Bot / Graph DB / Response Generator
Vectorized Processing in a Nutshell. (in Korean)
Presented by Hyoungjun Kim, Gruter CTO and Apache Tajo committer, at DeView 2014, Sep. 30 Seoul Korea.
This document provides an overview of physics engine usage for game physics programming. It introduces key concepts in physics such as kinematics, calculus, and numeric solutions. It also summarizes the Box2D and PhysX physics engines, including collision detection methods, constraints, joints and example code reviews. The goal is to provide background information for implementing physics in games without focusing on specific implementation details.
This document discusses the wxWidgets GUI toolkit. It provides instructions on downloading and installing wxWidgets using Visual Studio 2005, and gives an overview of some of the main classes and functionality provided by wxWidgets, including widgets for common GUI elements, support for menus, layout, drawing, and events. It also provides details on linking libraries and using macros for declaring event tables when creating wxWidgets applications.
5. 레벨 디자인 게임내의 세계를 구성하고 세계를 구성하는 여러 가지 설정을 하는 작업 1번만 다룹니다 (특히 정적 메시 중심)
6. 레벨 편집 시스템 Height Field Terrain, Vector Field Terrain, Marching Cube(Voxel) Terrain, CSG, Prefab, Procedural Building, Prop, Mesh Group, Procedural Tree, Foliage(Vegetation) Painting, Decal, Road, River, Water Surface, Cloud, Whether….
7. 빠른 이터레이션 제작 -> 테스트 -> 수정을 반복하여 게임의 재미요소를 더 빠르게, 더 많이 시도하고 검증 기술적인 요소를 검증 빠른 프로토타이핑 http://www.youtube.com/watch?v=l-bdTT6lQTc http://www.slideshare.net/epiphany/blizzard-design-processkor-for-web-v10
8. 빠른 이터레이션 요구사항 손쉽게 레벨을 구성 아트에 대한 감각이 부족하더라도 작업가능 게임 디자이너(aka 기획자)도 가능 작업 후 바로테스트 가능 희망사항 결과물의 품질도 좋다면 재작업이 필요 없으니 OK
9. 빠른 이터레이션 빠른 이터레이션이 장점인 대표적인 레벨 시스템들 CSG Editable Mesh Procedural Mesh Prefab 터레인 계열은 생략합니다
10. CSG Constructive Solid Geometry Quake, Half-life, Unreal 등에서 사용 http://www.unrealengine.com
11. CSG Solid Brush(Convex 혹은 Convex Set)를 Boolean(더하기, 빼기) 연산하여 메시 생성 원하는 비교적 단순한 기하를 빠르게 만들 수 있다 BSP친화적인 구조 Boolean 연산이 BSP기반
12. CSG 게임 친화적 군더더기 없이 단순한 형태 Solid가 분명해서 충돌 처리에도 그대로 사용 공간 구분이 명확해서 가시성 검사에 유리 대체적으로 축 정렬되어 있어 라이트맵Unwrap 및 Atlas를 훌륭하게 할당 가능 네비게이션메시로도 활용 가능
13. CSG 에디트가 쉽지 않다 약간 익숙하지 않은 개념 최종 품질로는 쓰려면 최적화 감각이 필요하다 결과물의 복잡도가 작업자마다다르다 (면 나누는 요령~!!) 텍스처링: 초능력이 필요
18. 절차적 메시 입력된 수치를 기반으로 정해진 공정을 통해 메시 자동 생성 SpeedTree, CityEngine등 http://www.speedtree.com/
19. 절차적 메시 City Engine 수치입력만으로 건물을 생성 꽤 좋은 품질의 다양한 결과물 비용대비 우수 http://www.procedural.com http://www.youtube.com/watch?v=xaPDmuotjWU
20. 절차적 메시 제한적인 부분에서만 사용 가능 게임에서 최종 메시로 사용하기에는 약간 아쉬울 수 있는 스타일링 아티스트의 후처리 작업이 필요할 수도 게임 스타일에 따라서는 선택이 어려울 수도
21. Prefab 조립식 아티스트가 만든 작은 메시(aka prop)들을 조합 Prefab = Prop + prop + … Prefab = Prefab + prop +… 일반적으로 많이 사용되고있는 방법 http://www.youtube.com/watch?v=5KH7Wbi0clo
22. Prefab 렌더링에 최적화된 형태 재활용, 인스턴싱 비디오 메모리 최적 (적은 메모리 사용) Prefab별로 추가적인 정보를 넣을 수 있다 단위 충돌 메시 LOD 메시 어클루더
23. Prefab 에디트와 관리가 쉽다 배치는 비 아티스트도 가능 단, 기반 Prefab은 아티스트 작업 필요 구현도 쉽다 배치 후 그룹화하여 등록, 배치에 재 사용 아티스트의 의도에 맞는 결과물 최종 사용 가능한 품질
24. Prefab 아티스트와협업이 필요 어셋 만드는 관점의 변화 분해하여 제작 연속된 형태로 만들기 위해선 Unit 단위 이해 필요 단위는 정수 배 (0.1 * 10 != 1) 편집의 묘미가 필요 어렵지는 않다 http://www.gamasutra.com/view/feature/2475/creating_modular_game_art_for_fast_.php
26. 요구 사항 빠른 이터레이션이 가능하고 게임 디자이너도 손쉽게 사용할 수 있고 데이터가 게임에 최적화되면서도 큰 수정 없이 최종 데이터로 사용 가능하면
27. 제안 Prefab 기반 비교적 안정적이고 개발부담 적은 방식 절차적으로 생성 손쉬운 연동 인터페이스
28. Prefab 기반 기본 Prefab 기반 그래픽 아티스트에 의해 만들어진 규격화된 메시 조합 Decal 등을 고려하여 디테일 설정 여기서 복습 Prop + Prop = Prefab Prefab + Prop = Prefab Prefab + Prefab = Prefab
43. 어셋 파이프라인 만들려고 하는 레벨을 구상 조립 가능하도록 분해 조립 가능한 레벨을 구상 (꾸미기 고려) 조립 함수 등도 고려 연결 객체는 연결 단위를 고려하여 각 메시들을제작 기본 Prefab 구성 레벨 디자이너는 조합하고 크기 변경하면서 월드에 배치하고 테스트 데칼, 식물, 라이팅 등으로 꾸미기
45. 기능보강 대부분 축 정렬된 형태나 규격화된 형태 곡선 형태는 경우에 맞도록 연결 가능한 곡선 형태 메시로 만들어야 http://www.gdcvault.com/play/1012448/Building-an-Open-World-Game
46. Warping 한 축을 구부려 어셋 변경 없이 에디터 상에서 곡선 만들기 도로, 성벽, … 절차 기울이고자 하는 긴 축을 선택 커브 에디팅 미분(기울기), 적분(길이) 없이곡선을 여러 세그먼트로 나누어서 직선 리스트로 단순화 직선 방향과 업 벡터 이용하여 각 축 공간정의 버텍스의 축 좌표로 구간 선택, 좌표계 적용
47. 기타 테스트 킷(어셋) 일반화된 형태의 간단한 지오메트리의prefab 세트 프로그래머도, 게임 디자이너도 아티스트의 도움 없이 프로토타이핑 가능, 충분한 사전 테스트로 시행 착오최소화 http://www.gametrailers.com/video/tech-dive-uncharted-drakes/26677
48. 결론 게임 레벨 제작 시스템에서 빠른 이터레이션은 중요 Prefab을 응용 개선하여 개발 효율 향상 절차적 함수(스크립트, C++)를 적용 드래그로 시각적으로 수치를 조절하는 인터페이스 시스템이 복잡하지 않아 구현도 쉽다. 함수 기능을 확장하고, 곡선 등을 적용하면 구조적인 단조로움을 완화 테스트용 어셋을 잘 구성하면 CSG, Editable Mesh등 없어도, 아티스트 없이 손쉽게 프로토타이핑가능