# Team Notes ## 白內障 - Data 資料 - https://www.kaggle.com/andrewmvd/ocular-disease-recognition-odir5k - https://www.kaggle.com/jr2ngb/cataractdataset - https://www.kaggle.com/kondwani/eye-disease-dataset - https://www.kaggle.com/alexandramohammed/cataract-image - https://figshare.com/articles/dataset/Epilens_membrane_simulating_cataract_in_children_with_uveitis_a_report_of_three_cases/7102292/1 - [相關Paper](https://drive.google.com/folderview?id=14szFAvD1tbe2nvxsoAGCkE2RDxR-q4IE) - [CNN](https://hackmd.io/Wi0aJYEHQh-2LUfnwbHFJQ) - 印尼人做過 - "CekMata - Crunchbase Company Profile & Funding" - https://www.crunchbase.com/organization/cekmata - https://e27.co/startups/cekmata/ - [影片](https://youtu.be/rEHD212OpPg) - github程式 - https://github.com/Shashankjain12/Cataract-Detection (主要) - https://github.com/Aqsa-K/Detecting-Catarct-From-Eye-Images-OpenCV-Python - 以下含有大量照片 - https://github.com/krishnabojha/Cataract_Detection-using-CNN - https://github.com/piygot5/Cataract-Detection-and-Classification - [CNN 卷積神經網絡](https://medium.com/jameslearningnote/%E8%B3%87%E6%96%99%E5%88%86%E6%9E%90-%E6%A9%9F%E5%99%A8%E5%AD%B8%E7%BF%92-%E7%AC%AC5-1%E8%AC%9B-%E5%8D%B7%E7%A9%8D%E7%A5%9E%E7%B6%93%E7%B6%B2%E7%B5%A1%E4%BB%8B%E7%B4%B9-convolutional-neural-network-4f8249d65d4f) - [The 50 Best Free Datasets for Machine Learning](https://lionbridge.ai/datasets/the-50-best-free-datasets-for-machine-learning/) ------ ## paper重點整理 - paper 1 - 提到的論文參考 - “Cataract Detection Techniques: A Review” by Hans Israel Morales Lopez, Juan Carlos Sanchez Garcia and Jose Alejandro Diaz Mendez - “Analysis and study of cataract detection techniques” by Darshana Patil, Arvind Nair, Niranjan Bhat, Rohit Chavan, and Dheeraj Jadhav - “Review on Detection and Grading the Cataract based on Image Processing” by Mrs. R. S. Patil and Dr. Uttam L. Bombale - **method one** classifies an eye as healthy, having a mild cataract or as having a severe cataract. **method two** works on affected eyes and determines the degree of cataract present. - ***method one*** - preprocessing - The coloured image of the pupil is converted to **grayscale** - enhanced by applying the **Gaussian filter** - smoothens the image and removes Gaussian noise - feature extraction - evaluating the texture feature parameter using **image intensity** (飽和度) - cataract affected eyes will be higher compared to healthy eyes - decision making - healthy eye image falls below 50 whereas the ones severely clouded and affected by cataract have a mean value over 100 - ***method two*** - resizing, converting to **grayscale**, applying **low pass filter**, thresholding and applying morphological opening. - **Hough transform** is then used to identify and isolate circles in the image - The image is inverted using logical NOT operation. - Contours are used to detect areas inside or near the pupil - **Hough transform** and **contour detection** are used to detect shapes in the image ------ - paper 2 - classifier constructed by back propagation(反向傳播演算法) - trilateral filter - decrease the noise in the image - feature extraction - GLCM(灰度共生矩陣) - texture feature - image-interval database - linear hough remodel(hough trasform) - edge detect - canny edge detection - eyelids boundary detect - support vector machine - separating hyper plane between two classes which maximizes *margin* ------ - paper 3 - [code](https://github.com/karanjot21/openCV-Cataract-Detection) - A Robust Automated Cataract Detection Algorithm Using Diagnostic Opinion Based Parameter Thresholding - **Hough transform** -- common circular region detection algorithms - preprocessing - Gaussian filter(low-pass filter) -- image denoising - canny edge detection -- preserve the edge - Sobel kernel -- - feature extraction - **mean intensity**(m) -- cataract eyes have higher intensities than normal eyes. - coarse texture will be observed which shows the presence of a cataract, with degree of severity depending upon the amount of clouding - **uniformity**(U) -- A healthy eye will show a smooth texture with higher value of uniformity in contrast to coarse texture - **standard deviation**(s) -- a low value of standard deviation indicates that the pixel value tends to be very close to the average value, whereas high value of standard deviation represents that the pixel values are broadly spread out over a large range of values - Principal component analysis(PCA) - parameter & dimension reduction - (wavelet transform) - decision making - **To be processed problem:** - table.2 針對feature parameter判斷順序是如何? eq.no13 - mean intensity, uniformity and standard deviation - F4.F5圖分別代表意義? ------ - paper 5 - android studio and Open CV - Collection of Images: The data is collected from the google image database by writing a script on JAVA. The Google API using AJAX is being embedded in the application to download the cataract eye images and normal eye images. - Preprocessing of Data: The downloaded images are cropped to get the focused eye image (region of interest) and showed the application user for cross verification about the cropping if the cropped image is not up to mark as per the perception of the user then the user can crop the image accordingly. - Classification by KNN: The testing image features are extracted by using the step 2. There is no explicit training phase. KNN is based on the features similarity by making use of any distance formula like Euclidian, Manhattan etc. - Validation of developed Application: The Developed mobile application working is validated on the eyes of the people. The working is validated under the observation of the Ophthalmologist. ------ - paper 6 - Input Image Image input is the first step used to take eye pictures directly using a smartphone camera and select eye images on the storage media. - Preprocessing The preprocessing stage is used to reduce noise and improve the quality of the image - Cropping Image After getting the picture from the camera or gallery, then do the cropping image process. This process is used to crop the image of the iris, by adjusting the size ratio of the crop and resizing the image so that the image used for image processing is not too large and results in long calculations. - Grayscale The Grayscaling process changes from the RGB intensity value to the gray intensity value, with a value between 0-255[7]. Where the greater the value, the image will become white. The following is a mathematical calculation to get the grayscale value: 𝐺𝑟𝑎𝑦𝑠𝑐𝑎𝑙𝑒= (𝑅+𝐺+𝐵)/3 - Median Filter The median is the middle value of the data set. Median Filtering is one technique for improving image quality in the spatial domain. - Segmentation The segmentation stage is used to get the location of the pupils of the eye and cropping the pupils - Canny Edge Detection In the process of Canny Edge Detection, it will produce edges of image objects, which aim to mark the part of the image detail and improve the details of the image that is blurred, which occurs due to errors or the effects of the image acquisition process - Hough Circle Transform Hough Transform is an image transformation technique that can be used to isolate or in other words obtain the features of an image. - Feature Extraction The feature extraction stage is used to obtain features, such as the mean intensity value and the Uniformity value in the pupil of the eye - Mean Intensity Mean Intensity is the average gray value in the pupillary area. To get the mean intensity - Uniformity Uniformity is the value of uniformity of pixels in the pupils of the eye. - Classification Cataract eye classification using Neural Network Perceptron from Mean Intensity and Uniformity features obtained from feature extraction stages - Application Design In making applications, researchers build applications on the Android operating system ------ ### 分類步驟用的演算法 - preprocessing - resize & grayscale & cropped region - gaussin filter(low filter) & trilateral filter - hough transform & canny edge detection(Sobel kernel) - contour detection(邊緣檢測) - feature extration - GLCM(灰度共生矩陣) - Principal component analysis(PCA) - support vector machine(SVM) - BPNN(分類) - wavelet transform - [K-means](https://en.wikipedia.org/wiki/K-means_clustering#Algorithms) - 2/4 開會進度 - 查各三個演算法 - 了解cnn - 查相關paper - 找dataset - https://github.com/krishnabojha/Cataract_Detection-using-CNN - https://github.com/piygot5/Cataract-Detection-and-Classification - 背景故事、動機 - 前端寫app的開發工具選擇 - [xamarin.form](https://docs.microsoft.com/zh-tw/xamarin/xamarin-forms/?WT.mc_id=xamarinshow-video-lbugnion) - https://developer.android.com/studio - https://developer.apple.com/xcode/resources/ - [flutter](https://flutter.dev/) - 思考有哪些是會造成照片不清楚,其處理方式 (ex.照片不清楚、閃光燈、反光...等) --- - 2/23 開會進度 - preprocessing 還沒用 - 先固定眼珠 - 切成1:1的照片(眼珠要包在裡面) - 轉成黑白的照片 - CNN training 可以跑,也可以做分類 - [前處理](https://hackmd.io/k8yxsSRFS1CaiMfn-Zw6QQ)