<jupyter_start><jupyter_text>Welcome to ECE 278a Digital Image Processing$\color{003660}{\text{<NAME> - Assistant Professor}}$ BioShape Lab @ UCSB ECE   Outline: Welcome- [Syllabus](sec-syllabus)- [Real-World Applications](sec-ece)- [Outline](sec-outline)  Outline: Welcome- **[Syllabus](sec-syllabus)**- [Real-World Applications](sec-ece)- [Outline](sec-outline)  Instructor: <NAME> (me)   $\color{047C91}{\text{Research}}$: Exploring the geometries of life: - how proteins, cells, organs adopt specific shapes to function, - and how pathologies arise from abnormal shapes.$\color{047C91}{\text{Office Hours}}$: Mondays 2 - 3 PM https://ucsb.zoom.us/my/nmiolane  Classes $\color{EF5645}{\text{Classes}}$:- in  PHELP 1431 (!), MW 12:00 PM - 1:50 PM (slides: [ECE 278a's GitHub](https://github.com/bioshape-lab/ece278a))- First 2 weeks: asynchronous, videos will be shared on Slack. Notes:- You are required to attend/watch all the lectures.- Do not enroll in other courses whose schedule is conflicting with this class. - If you cannot attend/watch all lectures, please drop this class.  Covid-19 Guidelines- Feeling ill or may have been exposed: stay home and contact staff in 24h.- Complete daily symptom survey.- Weekly testing for non-vaccinated.- Masks indoors.  TextbookThe textbook is considered supplementary to classes:- [Computer Vision: Algorithms and Applications](https://szeliski.org/Book/), by <NAME>.$\color{EF5645}{\text{Remarks}}$:- Freely available online.- We will not cover all topics in the book. - We will cover a few topics not in the book.  Python and Jupyter NotebooksWe will use:- Python version 3.7 or higher as our programming language,- Jupyter notebooks to run Python interactively in a web browser.You should download Anaconda which will install everything you need to run Python 3.7+ and Jupyter notebooks:- Anaconda: https://www.anaconda.com/downloadWe will share resources to get used to Python, if you are not.  Homeworks: DataCamp (30%)Hands-on exercises through Datacamp: 30% (You can start now)  - Image Loading and Processing (Deadline: 01/12) - 5%  - Predicting from Images (Deadline: 01/26) - 5%  - Image Processing in Python 10% (Deadline: 02/09) - 10%  - Biomedical Image Analysis in Python 10% (Deadline: 02/16) - 10%Optional (Python basics):  - Introduction to Python + Intermediate Python  - Introduction to Data Visualization with MatplotlibUse this link with your @ucsb.edu addresshttps://www.datacamp.com/groups/shared_links/740b900736904f1710f1a470a497bf1d5b49fd6d6527ccd330e01c0eff40459e  Web Apps (20%) - Teams of 2-3Build a Web App about one concept from the class and present it. 20%- First review session: 02/02- Second review session: 03/07- [Example of a Web App](https://share.streamlit.io/aniketwattamwar/image-processing-with-streamlit/main/main.py)Steps:- Register on the [GitHub README.md](https://github.com/bioshape-lab/ece278a/blob/main/tutorials/README.md) (first come / first serve)- Use streamlit: https://streamlit.io/- Submit your app in [folder "tutorials"](https://github.com/bioshape-lab/ece278a/tree/main/tutorials) in ECE 278a GitHub repository- Present it to the class (20min, no slides)  Projects (50%) - Teams of 4-5Put your skills in practice to tackle a project of your choice.- Deadline: 03/02- Presentations in class: 03/09 (20min)Steps:- Find a question and an image dataset from a research team at UCSB.  - If you cannot find one, contact Nina.  - Recommended: small datasets, where deep learning is not suggested.- Submit code with a main notebook in [folder "projects"](https://github.com/bioshape-lab/ece278a/tree/main/projects) of the ECE 278a GitHub- Present to the class.  Grading- Homeworks: 30%- Wep Apps: 20%- Project: 50%- Extra-credits:  - Helping classmates (on Slack): +8%  - Sending constructive feedback about the class: +2%  Outline: Welcome- [Syllabus](sec-syllabus)- **[Real-World Applications](sec-ece)**- [Outline](sec-outline)  Digital Image Processing- Mimicking the human perception of sight with computational algorithms- Building a technology that:  - interprets light stimuli  - sees or learns things that the programmers who made them didn't tell them  - E.g. automatically identifying objects in images or video  $\rightarrow$ Training computers to understand the visual world<jupyter_code>from IPython.display import Audio,Image, YouTubeVideo
id='QxZ5LROlwPc'
YouTubeVideo(id=id, width=900,height=450)<jupyter_output><empty_output><jupyter_text>An Image is Worth a Thousand WordsThe wreckage, photographed by Studio Lévy  What do Computers See? Slide credit: <NAME>nick Intensity Levels  Can Computer Match Human Vision?Yes and no:- humans are much better at “hard” things- computers can be better at “easy” things  Human Image Processing Failing...<NAME> and <NAME>?Sinha and Poggio, Nature, 1996 (https://www.nature.com/articles/384404a0.pdf)  Human Image Processing Failing...Copyright A.Kitaoka 2003  What Digital Image Processing Can DoThe next slides show some examples of what current vision systems can do.  Image FormationPortrait mode: simulating wider aperture  Even wider apertureHow scientists captured the first image of a black hole, 2019https://www.jpl.nasa.gov/edu/news/2019/4/19/how-scientists-captured-the-first-image-of-a-black-hole/  Image Operators and Transforms<jupyter_code>from IPython.display import Audio,Image, YouTubeVideo
id='2F6j_BeZ5ng'
YouTubeVideo(id=id,width=900,height=450)<jupyter_output><empty_output><jupyter_text>Image Operators and Transforms<jupyter_code>from IPython.display import Audio,Image, YouTubeVideo
id='kSLJriaOumA'
YouTubeVideo(id=id,width=900,height=450)<jupyter_output><empty_output><jupyter_text>Image Features: Who is She?  Image Features: Vision-based Biometrics[How the Afghan Girl was Identified by Her Iris Patterns](https://www.cl.cam.ac.uk/~jgd1000/afghan.html)     Image Segmentationhttps://gts.ai/how-do-we-solve-the-challenges-faced-due-to-semantic-segmentation/  Image Alignment<jupyter_code>from IPython.display import Audio,Image, YouTubeVideo
id='wptzVm0tngc'
YouTubeVideo(id=id,width=900,height=450)<jupyter_output><empty_output><jupyter_text>3D Reconstructions<jupyter_code>from IPython.display import Audio,Image, YouTubeVideo
id='LY6MgDUzS3M'
YouTubeVideo(id=id,width=900,height=450)<jupyter_output><empty_output><jupyter_text>Applications: Special EffectsThe Matrix movies, ESC Entertainment, XYZRGB, NRC  Applications: SportsSportvision first down line    https://entertainment.howstuffworks.com/first-down-line.htm  Applications: Virtual RealityOculus Quest, Beat Saber  Applications: Augmented RealityMicrosoft Hololens 2  Applications: Autonomous Vehicles<jupyter_code>from IPython.display import Audio,Image, YouTubeVideo
id='B8R148hFxPw'
YouTubeVideo(id=id,width=900,height=450)<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.10170487948265726, 'fraction_numerical': 0.03821281599059377, 'mean_word_length': 5.462488129154796, 'pattern_counts': {'":': 0, '<': 31, '<?xml version=': 0, '>': 31, 'https://': 15, 'lorem ipsum': 0, 'www.': 5, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '6', 'dir': 'jupyter-structured-clean-dedup', 'id': '138850', 'license': 'MIT', 'n_tokens_mistral': 2339, 'n_tokens_neox': 2042, 'n_words': 688, 'path': 'lectures/00_welcome.ipynb', 'repo_name': 'sean-mackenzie/ece278a', 'size': '6836'}