{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":747592102,"defaultBranch":"main","name":"FacialRecognizer","ownerLogin":"jose-jaen","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2024-01-24T08:46:50.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/87200089?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1706086011.60432","currentOid":""},"activityList":{"items":[{"before":"6e834134bb0c07b68fa3d152c7f8a04566dac46c","after":"95a4f3013ce7df9b101c74623eda924305f7383e","ref":"refs/heads/main","pushedAt":"2024-05-05T14:43:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jose-jaen","name":"José Jaén","path":"/jose-jaen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/87200089?s=80&v=4"},"commit":{"message":"[FIX] Correct typos\n\n- Fix latex code in demo notebook and\ncorrect small english typo.","shortMessageHtmlLink":"[FIX] Correct typos"}},{"before":"a4026823eeee5467c24446c0d9e09e11cdd093ec","after":"6e834134bb0c07b68fa3d152c7f8a04566dac46c","ref":"refs/heads/main","pushedAt":"2024-05-02T17:17:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jose-jaen","name":"José Jaén","path":"/jose-jaen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/87200089?s=80&v=4"},"commit":{"message":"Ignore notebook from stats and update readme","shortMessageHtmlLink":"Ignore notebook from stats and update readme"}},{"before":"f14e22131b7069a9f1bb8ffa86646a4ed7ea09c6","after":"a4026823eeee5467c24446c0d9e09e11cdd093ec","ref":"refs/heads/main","pushedAt":"2024-05-02T17:12:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jose-jaen","name":"José Jaén","path":"/jose-jaen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/87200089?s=80&v=4"},"commit":{"message":"[ADD] Showcase demo and update project info\n\n- Add more details to `README.md` and perform\na demonstration in a jupyter notebook.\n\n- Update library versions.","shortMessageHtmlLink":"[ADD] Showcase demo and update project info"}},{"before":"773c7e49e0a27d2e73e12bc61ccbe6f74cbba6a6","after":"f14e22131b7069a9f1bb8ffa86646a4ed7ea09c6","ref":"refs/heads/main","pushedAt":"2024-05-02T17:10:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jose-jaen","name":"José Jaén","path":"/jose-jaen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/87200089?s=80&v=4"},"commit":{"message":"Move directory of training scripts\n\n- Change the location of all training scripts to the root\nfolder.","shortMessageHtmlLink":"Move directory of training scripts"}},{"before":"0d7aae52a01b187cf6c47a7d6169370e5fa9e90c","after":"773c7e49e0a27d2e73e12bc61ccbe6f74cbba6a6","ref":"refs/heads/main","pushedAt":"2024-05-02T17:08:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jose-jaen","name":"José Jaén","path":"/jose-jaen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/87200089?s=80&v=4"},"commit":{"message":"[FIX] Visualize Eigenfaces\n\n- Reshape vector into a 2D matrix for\ncorrectly displaying eigenfaces.","shortMessageHtmlLink":"[FIX] Visualize Eigenfaces"}},{"before":"be0909e96dfaa89d6cb48a8a2a8877148e48bfe1","after":"0d7aae52a01b187cf6c47a7d6169370e5fa9e90c","ref":"refs/heads/main","pushedAt":"2024-05-02T17:07:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jose-jaen","name":"José Jaén","path":"/jose-jaen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/87200089?s=80&v=4"},"commit":{"message":"[FIX] Modify working directories in `controllers`\n\n- Adapt directories to `data_extractor.py` and\n`data_images.py`.\n\n- Add informative messages about the current download\nprocess.\n\nTODO: Adapt to Windows and make more `get_data` and\n`set_up_data` methods more robust","shortMessageHtmlLink":"[FIX] Modify working directories in controllers"}},{"before":"cf4470a5aa9e4ae408daecde830a38a0b806b9f7","after":"be0909e96dfaa89d6cb48a8a2a8877148e48bfe1","ref":"refs/heads/main","pushedAt":"2024-04-30T16:39:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jose-jaen","name":"José Jaén","path":"/jose-jaen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/87200089?s=80&v=4"},"commit":{"message":"Move training scripts to `modeling`\n\n- Change directory for `train_eigenfaces` and\n`train_fisherfaces`.\n\n- Add `train_lenet`, which trains the CNN defined\nin `deep_learning`","shortMessageHtmlLink":"Move training scripts to modeling"}},{"before":"61bbbee191afe3848f521c2659307d8aff1613c0","after":"cf4470a5aa9e4ae408daecde830a38a0b806b9f7","ref":"refs/heads/main","pushedAt":"2024-04-30T16:38:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jose-jaen","name":"José Jaén","path":"/jose-jaen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/87200089?s=80&v=4"},"commit":{"message":"[NEW] Add dataset and architecture for Deep Learning\n\n- Define a custom PyTorch dataset for processing\nthe images in 3D tensors.\n\n- Set up `LetNet-5` architecture in PyTorch and\nlay out the learning process of a Convolutional\nNeural Network with raw features.","shortMessageHtmlLink":"[NEW] Add dataset and architecture for Deep Learning"}},{"before":"a51c9b4b3abcf9592da302e9d9f15110896d8760","after":"61bbbee191afe3848f521c2659307d8aff1613c0","ref":"refs/heads/main","pushedAt":"2024-04-30T16:35:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jose-jaen","name":"José Jaén","path":"/jose-jaen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/87200089?s=80&v=4"},"commit":{"message":"Generalize `get_image_matrix` function\n\n- Allow not to store pixel data in the polars\ndataframe resulting from `get_image_matrix`.\nThis is useful for deep learning models, where\nPyTorch DataSet class is better for efficiently\nhandling images in 3D tensors. This is done\nthrough `get_sobel` argument, which if true will\nresult in a polars dataframe with image paths.\n\n- Minor fix in `set_up_date` method of `DataExtractor`.\nThis generalizes the random seed to the one\nselected by the user.","shortMessageHtmlLink":"Generalize get_image_matrix function"}},{"before":"2b6377b1bf3832a62dbb3b397c1cdb3d0dfd0786","after":"a51c9b4b3abcf9592da302e9d9f15110896d8760","ref":"refs/heads/main","pushedAt":"2024-01-28T21:24:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jose-jaen","name":"José Jaén","path":"/jose-jaen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/87200089?s=80&v=4"},"commit":{"message":"Train `FisherFaces` and `EigenFaces` classifiers and fix LDA\n\n1) stats:\n - Turn polars DataFrames to numpy arrays for suitable matrix operations.\n - Fix filtering when selecting specific labels for covariance matrices.\n\n2) modeling:\n - Create new directory for training classifiers.\n - Implement `EigenFaces` and `FisherFaces` classes for learning.\n - Add separate scripts for fitting classifiers to data.\n - Include Bayesian HPO and estimation of future performance.","shortMessageHtmlLink":"Train FisherFaces and EigenFaces classifiers and fix LDA"}},{"before":"c584363af04f96853d95bf98e672033f3e7e9e89","after":"2b6377b1bf3832a62dbb3b397c1cdb3d0dfd0786","ref":"refs/heads/main","pushedAt":"2024-01-26T23:23:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jose-jaen","name":"José Jaén","path":"/jose-jaen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/87200089?s=80&v=4"},"commit":{"message":"Implement `LinearDiscriminantAnalysis` classifier\n\n1) stats:\n - Code LDA algorithm for facial recognition in `lda.py`.\n - Add degrees of freedom correction for covariance estimation in `pca.py`\n - Give additional information about attributes in `knn.py` and more comments.\n\n2) .gitignore:\n - Update directories and testing files to ignore.","shortMessageHtmlLink":"Implement LinearDiscriminantAnalysis classifier"}},{"before":"6bc5473ed0363da8fe1bd573559ac9f4f55b2bca","after":"c584363af04f96853d95bf98e672033f3e7e9e89","ref":"refs/heads/main","pushedAt":"2024-01-25T20:57:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jose-jaen","name":"José Jaén","path":"/jose-jaen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/87200089?s=80&v=4"},"commit":{"message":"Implement `KNeighborsClassifier` and update data processing\n\n1) `stats`:\n - Include classifier based on k-NN algorithm.\n\n - Rename `statistics` to `stats` to avoid conflicts with built-in module.\n\n - Modify `PCA` class to work with percentage of explained variance\n rather than number of componenets. Also, polars dataframes are converted\n to numpy arrays to avoid getting scikit-learn's `StandardScaler` warnings\n about feature names when working with individual test projections.\n\n2) `controllers`:\n\n - Modify data processing function `get_image_matrix` to obtain sobel edge detection values.\n\n - Create hidden testing python file `prueba.py` to test out implementations.\n\n3) `requirements.txt`:\n\n - Add `scipy` and `opencv-python` packages.\n\n4) `.gitignore`:\n\n - Include the aforementioned testing python file.","shortMessageHtmlLink":"Implement KNeighborsClassifier and update data processing"}},{"before":"df4bc03823407af0048b7894223b573c191a3d9e","after":"6bc5473ed0363da8fe1bd573559ac9f4f55b2bca","ref":"refs/heads/main","pushedAt":"2024-01-24T20:54:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jose-jaen","name":"José Jaén","path":"/jose-jaen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/87200089?s=80&v=4"},"commit":{"message":"Implement eigenfaces with `PCA`\n\n- Create `statistics` folders for statistical learning methods.\n\n- Implement Principal Component Analysis to get eigenfaces.","shortMessageHtmlLink":"Implement eigenfaces with PCA"}},{"before":"759b69233835ec736d47bb7d89cd7d304b4a6924","after":"df4bc03823407af0048b7894223b573c191a3d9e","ref":"refs/heads/main","pushedAt":"2024-01-24T18:17:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jose-jaen","name":"José Jaén","path":"/jose-jaen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/87200089?s=80&v=4"},"commit":{"message":"Set up project structure and dataset for training\n\n- Create `controlers` directory for downloading and setting up the data.\n\ni) `data_extractor.py`: `DataExtactor` class for downloading and partitioning the data.\n\nii) `data_images.py`: Extract pixels from images and set up Polars DataFrame.\n\niii) `set_up_data.py`: Instantiate a `DataExtractor` object to get the data.\n\n- Create `config` directory for handling the `faces94` URL.\n\n- Create `requirements.txt` file for fast libraries download.\n\n- Create and hide `data` folder for storing training images.","shortMessageHtmlLink":"Set up project structure and dataset for training"}},{"before":null,"after":"759b69233835ec736d47bb7d89cd7d304b4a6924","ref":"refs/heads/main","pushedAt":"2024-01-24T08:46:51.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"jose-jaen","name":"José Jaén","path":"/jose-jaen","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/87200089?s=80&v=4"},"commit":{"message":"Initial commit","shortMessageHtmlLink":"Initial commit"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEQeIQaQA","startCursor":null,"endCursor":null}},"title":"Activity · jose-jaen/FacialRecognizer"}