You will be redirected to the main page within 3 seconds. If not redirected, please click here.
+ Page not found | Doanh C. Bui
Page not found
Looks like there has been a mistake. Nothing exists here.
You will be redirected to the main page within 3 seconds. If not redirected, please click here.
\ No newline at end of file
diff --git a/Gemfile b/Gemfile
deleted file mode 100644
index 0cb2a8a..0000000
--- a/Gemfile
+++ /dev/null
@@ -1,23 +0,0 @@
-source 'https://rubygems.org'
-group :jekyll_plugins do
- gem 'jekyll'
- gem 'jekyll-archives'
- gem 'jekyll-diagrams'
- gem 'jekyll-email-protect'
- gem 'jekyll-feed'
- gem 'jekyll-imagemagick'
- gem 'jekyll-minifier'
- gem 'jekyll-paginate-v2'
- gem 'jekyll-scholar'
- gem 'jekyll-sitemap'
- gem 'jekyll-link-attributes'
- gem 'jekyll-twitter-plugin'
- gem 'jemoji'
- gem 'mini_racer'
- gem 'unicode_utils'
- gem 'webrick'
-end
-group :other_plugins do
- gem 'httparty'
- gem 'feedjira'
-end
diff --git a/_bibliography/papers.bib b/_bibliography/papers.bib
deleted file mode 100644
index e128281..0000000
--- a/_bibliography/papers.bib
+++ /dev/null
@@ -1,120 +0,0 @@
----
----
-
-@string{aps = {American Physical Society,}}
-
-@article{BUI2024108112,
- title = {DAX-Net: A dual-branch dual-task adaptive cross-weight feature fusion network for robust multi-class cancer classification in pathology images},
- journal = {Computer Methods and Programs in Biomedicine},
- volume = {248},
- pages = {108112},
- year = {2024},
- issn = {0169-2607},
- doi = {https://doi.org/10.1016/j.cmpb.2024.108112},
- url = {https://www.sciencedirect.com/science/article/pii/S0169260724001081},
- selected={true},
- preview={daxnet.png},
- author = {Doanh C. Bui and Boram Song and Kyungeun Kim and Jin Tae Kwak},
- keywords = {Cancer classification, Hybrid model, CNN, Transformer, Feature fusion, Multi-task learning},
-}
-
-@article{10466765,
- author={Tran, Tung Minh and Bui, Doanh C. and Nguyen, Tam V. and Nguyen, Khang},
- journal={IEEE Transactions on Circuits and Systems for Video Technology},
- title={Transformer-based Spatio-Temporal Unsupervised Traffic Anomaly Detection in Aerial Videos},
- year={2024},
- volume={},
- number={},
- pages={1-1},
- selected={true},
- preview={astt.png},
- keywords={Surveillance;Anomaly detection;Transformers;Traffic control;Computational modeling;Training;Task analysis;Anomaly Detection;Convolutional Neural Networks;Vision Transformers;Traffic Surveillance;Aerial Images},
- doi={10.1109/TCSVT.2024.3376399}}
-
-@InProceedings{Bui_2024_WACV,
- bibtex_show={true},
- author = {Bui, Doanh C. and Le, Thinh V. and Ngo, Ba Hung},
- title = {C2T-Net: Channel-Aware Cross-Fused Transformer-Style Networks for Pedestrian Attribute Recognition},
- booktitle = {Proceedings of the IEEE/CVF Winter Conference on Applications of Computer Vision (WACV) Workshops},
- month = {January},
- year = {2024},
- pages = {351-358},
- selected={true},
- preview={c2tnet.png}
-}
-
-@article{nguyen2023improving,
- bibtex_show={true},
- title={Improving human--object interaction with auxiliary semantic information and enhanced instance representation},
- author={Nguyen, Khang and Le, Thinh V and Van, Huyen Ngoc N and Bui, Doanh C},
- journal={Pattern Recognition Letters},
- volume={175},
- pages={38--43},
- year={2023},
- selected={true},
- publisher={Elsevier},
- doi={https://doi.org/10.1016/j.patrec.2023.09.013},
- preview={improving_hoi.png}
-}
-
-@article{9924781,
- bibtex_show={true},
- author={Bui, Doanh C. and Nguyen, Nghia Hieu and Vo, Nguyen D. and Thai, Uyen Han Thuy and Nguyen, Khang},
- booktitle={2022 International Conference on Multimedia Analysis and Pattern Recognition (MAPR)},
- title={Vi-DRSNet: A Novel Hybrid Model for Vietnamese Image Captioning in Healthcare Domain},
- year={2022},
- volume={},
- number={},
- pages={1-6},
- doi={10.1109/MAPR56351.2022.9924781},
- preview={vidrsnet.png}}
-
-@article{9852099,
- bibtex_show={true},
- author={Le, Thinh V. and Van, Huyen Ngoc N. and Bui, Doanh C. and Vo, Phuong and Vo, Nguyen D. and Nguyen, Khang},
- booktitle={2022 IEEE Ninth International Conference on Communications and Electronics (ICCE)},
- title={Empirical Study of RepPoints Representation for Object Detection in Aerial Images},
- year={2022},
- volume={},
- number={},
- pages={337-342},
- doi={10.1109/ICCE55644.2022.9852099},
- preview={Reppoint1.png}}
-
-@article{9732974,
- bibtex_show={true},
- author={Nguyen, Khang and Bui, Doanh C. and Trinh, Truc and Vo, Nguyen D.},
- journal={IEEE Access},
- title={EAES: Effective Augmented Embedding Spaces for Text-Based Image Captioning},
- year={2022},
- volume={10},
- number={},
- pages={32443-32452},
- doi={10.1109/ACCESS.2022.3158763},
- preview={ic2.jpg}}
-
-@article{Nguyen2022,
- bibtex_show={true},
- title = {Analysis of the Influence of De-hazing Methods on Vehicle Detection in Aerial Images},
- journal = {International Journal of Advanced Computer Science and Applications},
- doi = {10.14569/IJACSA.2022.01306100},
- url = {http://dx.doi.org/10.14569/IJACSA.2022.01306100},
- year = {2022},
- publisher = {The Science and Information Organization},
- volume = {13},
- number = {6},
- author = {Khang Nguyen and Phuc Nguyen and Doanh C. Bui and Minh Tran and Nguyen D. Vo},
- preview={04_visualize_hazy.png}
-}
-
-@article{9642128,
- bibtex_show={true},
- author={Bui, Doanh C. and Truong, Dung and Vo, Nguyen D. and Nguyen, Khang},
- booktitle={2021 RIVF International Conference on Computing and Communication Technologies (RIVF)},
- title={MC-OCR Challenge 2021: Deep Learning Approach for Vietnamese Receipts OCR},
- year={2021},
- volume={},
- number={},
- pages={1-6},
- doi={10.1109/RIVF51545.2021.9642128},
- preview={ReceiptsOCR.png}}
\ No newline at end of file
diff --git a/_config.yml b/_config.yml
deleted file mode 100644
index 363503c..0000000
--- a/_config.yml
+++ /dev/null
@@ -1,379 +0,0 @@
-# -----------------------------------------------------------------------------
-# Site settings
-# -----------------------------------------------------------------------------
-
-title: blank # the website title (if blank, full name will be used instead)
-first_name: Doanh
-middle_name: C.
-last_name: Bui
-email: doanhbc@korea.ac.kr
-description: > # the ">" symbol means to ignore newlines until "footer_text:"
- A simple, whitespace theme for academics. Based on [*folio](https://github.com/bogoli/-folio) design.
-footer_text: >
- Powered by Jekyll with al-folio theme.
- Hosted by GitHub Pages.
- Photos from Unsplash.
-keywords: doanh c bui, bui cao doanh, doanhbc # add your own keywords or leave empty
-
-lang: en # the language of your site (for example: en, fr, cn, ru, etc.)
-icon: ⚛️ # the emoji used as the favicon (alternatively, provide image name in /assets/img/)
-
-url: https://caodoanh2001.github.io # the base hostname & protocol for your site
-baseurl: # the subpath of your site, e.g. /blog/
-last_updated: false # set to true if you want to display last updated in the footer
-impressum_path: # set to path to include impressum link in the footer, use the same path as permalink in a page, helps to conform with EU GDPR
-
-# -----------------------------------------------------------------------------
-# Theme
-# -----------------------------------------------------------------------------
-
-# code highlighter theme
-highlight_theme_light: github # https://github.com/jwarby/jekyll-pygments-themes
-highlight_theme_dark: native # https://github.com/jwarby/jekyll-pygments-themes
-
-# repo color theme
-repo_theme_light: default # https://github.com/anuraghazra/github-readme-stats/blob/master/themes/README.md
-repo_theme_dark: dark # https://github.com/anuraghazra/github-readme-stats/blob/master/themes/README.md
-
-# -----------------------------------------------------------------------------
-# RSS Feed
-# -----------------------------------------------------------------------------
-# will use title and url fields
-# Take a look to https://github.com/jekyll/jekyll-feed for more customization
-
-rss_icon: false
-
-# -----------------------------------------------------------------------------
-# Layout
-# -----------------------------------------------------------------------------
-
-navbar_fixed: true
-footer_fixed: true
-
-# Dimensions
-max_width: 800px
-
-# TODO: add layout settings (single page vs. multi-page)
-
-# -----------------------------------------------------------------------------
-# Open Graph & Schema.org
-# -----------------------------------------------------------------------------
-# Display links to the page with a preview object on social media.
-serve_og_meta: false # Include Open Graph meta tags in the HTML head
-serve_schema_org: false # Include Schema.org in the HTML head
-og_image: # The site-wide (default for all links) Open Graph preview image
-
-# -----------------------------------------------------------------------------
-# Social integration
-# -----------------------------------------------------------------------------
-
-github_username: caodoanh2001 # your GitHub user name
-gitlab_username: # your GitLab user name
-twitter_username: # your Twitter handle
-mastodon_username: # your mastodon instance+username in the format instance.tld/@username
-linkedin_username: buicaodoanh # your LinkedIn user name
-telegram_username: # your Telegram user name
-scholar_userid: WHviN4AAAAAJ # your Google Scholar ID
-semanticscholar_id: # your Semantic Scholar ID
-whatsapp_number: # your WhatsApp number (full phone number in international format. Omit any zeroes, brackets, or dashes when adding the phone number in international format.)
-orcid_id: 0000-0003-1310-5808 # your ORCID ID
-medium_username: # your Medium username
-quora_username: # your Quora username
-publons_id: # your ID on Publons
-research_gate_profile: # your profile on ResearchGate
-blogger_url: # your blogger URL
-work_url: # work page URL
-keybase_username: # your keybase user name
-wikidata_id: # your wikidata id
-dblp_url: # your DBLP profile url
-stackoverflow_id: # your stackoverflow id
-kaggle_id: # your kaggle id
-lastfm_id: # your lastfm id
-spotify_id: # your spotify id
-pinterest_id: # your pinterest id
-unsplash_id: # your unsplash id
-instagram_id: # your instagram id
-facebook_id: # your facebook id
-youtube_id: # your youtube channel id (youtube.com/@)
-discord_id: # your discord id (18-digit unique numerical identifier)
-
-contact_note: >
- Feel free to contact me via email at 19521366@gm.uit.edu.vn
-
-# -----------------------------------------------------------------------------
-# Analytics and search engine verification
-# -----------------------------------------------------------------------------
-
-google_analytics: # your Goole Analytics measurement ID (format: G-XXXXXXXXXX)
-panelbear_analytics: # panelbear analytics site ID (format: XXXXXXXXX)
-
-google_site_verification: # your google-site-verification ID (Google Search Console)
-bing_site_verification: # out your bing-site-verification ID (Bing Webmaster)
-
-# -----------------------------------------------------------------------------
-# Blog
-# -----------------------------------------------------------------------------
-
-blog_name: DoanhBC's Blog # blog_name will be displayed in your blog page
-blog_nav_title: blog # your blog must have a title for it to be displayed in the nav bar
-blog_description: Stories about my journeys, my experience in scientific researching, and in developing career.
-permalink: /blog/:year/:title/
-
-# Pagination
-pagination:
- enabled: true
-
-# Giscus comments (RECOMMENDED)
-# Follow instructions on https://giscus.app/ to setup for your repo to fill out
-# the information below.
-giscus:
- repo: caodoanh2001/caodoanh2001.github.io # /
- repo_id: MDEwOlJlcG9zaXRvcnk2MDAyNDM2NQ==
- category: Comments # name of the category under which discussions will be created
- category_id: DIC_kwDOA5PmLc4CTBt6
- mapping: title # identify discussions by post title
- strict: 1 # use strict identification mode
- reactions_enabled: 1 # enable (1) or disable (0) emoji reactions
- input_position: bottom # whether to display input form below (bottom) or above (top) the comments
- theme: preferred_color_scheme # name of the color scheme (preferred works well with al-folio light/dark mode)
- emit_metadata: 0
- lang: en
-
-# Disqus comments (DEPRECATED)
-disqus_shortname: DoanhBC-faq # put your disqus shortname
-# https://help.disqus.com/en/articles/1717111-what-s-a-shortname
-
-# External sources.
-# If you have blog posts published on medium.com or other exteranl sources,
-# you can display them in your blog by adding a link to the RSS feed.
-# external_sources:
-# - name: medium.com
-# rss_url: https://medium.com/@al-folio/feed
-
-# -----------------------------------------------------------------------------
-# Collections
-# -----------------------------------------------------------------------------
-
-collections:
- news:
- defaults:
- layout: post
- output: true
- permalink: /news/:path/
- projects:
- output: true
- permalink: /projects/:path/
-
-news_scrollable: true # adds a vertical scroll bar if there are more than 3 news items
-news_limit: 10 # leave blank to include all the news in the `_news` folder
-
-# -----------------------------------------------------------------------------
-# Jekyll settings
-# -----------------------------------------------------------------------------
-
-# Markdown and syntax highlight
-markdown: kramdown
-highlighter: rouge
-kramdown:
- input: GFM
- syntax_highlighter_opts:
- css_class: 'highlight'
- span:
- line_numbers: false
- block:
- line_numbers: false
- start_line: 1
-
-# Includes & excludes
-include: ['_pages']
-exclude:
- - bin
- - Gemfile
- - Gemfile.lock
- - vendor
-keep_files:
- - CNAME
- - .nojekyll
- - .git
-
-# Plug-ins
-plugins:
- - jekyll-archives
- - jekyll-diagrams
- - jekyll-email-protect
- - jekyll-feed
- - jekyll-imagemagick
- - jekyll-minifier
- - jekyll-paginate-v2
- - jekyll/scholar
- - jekyll-sitemap
- - jekyll-link-attributes
- - jekyll-twitter-plugin
- - jemoji
-
-# Sitemap settings
-defaults:
- - scope:
- path: "assets/**/*.*"
- values:
- sitemap: false
-
-# -----------------------------------------------------------------------------
-# Jekyll Minifier
-# -----------------------------------------------------------------------------
-
-jekyll-minifier:
- exclude: ['robots.txt']
- uglifier_args:
- harmony: true
-
-# -----------------------------------------------------------------------------
-# Jekyll Archives
-# -----------------------------------------------------------------------------
-
-jekyll-archives:
- enabled: [year, tags, categories] # enables year, tag and category archives (remove if you need to disable one of them).
- layouts:
- year: archive-year
- tag: archive-tag
- category: archive-category
- permalinks:
- year: '/blog/:year/'
- tag: '/blog/tag/:name/'
- category: '/blog/category/:name/'
-
-display_tags: ['formatting', 'images', 'links', 'math', 'code'] # this tags will be dispalyed on the front page of your blog
-
-# -----------------------------------------------------------------------------
-# Jekyll Scholar
-# -----------------------------------------------------------------------------
-
-scholar:
-
- last_name: [Einstein]
- first_name: [Albert, A.]
-
- style: apa
- locale: en
-
- source: /_bibliography/
- bibliography: papers.bib
- bibliography_template: bib
- # Note: if you have latex math in your bibtex, the latex filter
- # preprocessing may conflict with MathJAX if the latter is enabled.
- # See https://github.com/alshedivat/al-folio/issues/357.
- bibtex_filters: [latex, smallcaps, superscript]
-
- replace_strings: true
- join_strings: true
-
- details_dir: bibliography
- details_layout: bibtex.html
- details_link: Details
-
- query: "@*"
-
-badges: # Display different badges for your pulications
- altmetric_badge: true # Altmetric badge (https://www.altmetric.com/products/altmetric-badges/)
- dimensions_badge: true # Dimensions badge (https://badge.dimensions.ai/)
-
-# Filter out certain bibtex entry keywords used internally from the bib output
-filtered_bibtex_keywords: [abbr, abstract, arxiv, bibtex_show, html, pdf, selected, supp, blog, code, poster, slides, website, preview, altmetric]
-
-# Maximum number of authors to be shown for each publication (more authors are visible on click)
-max_author_limit: 3 # leave blank to always show all authors
-more_authors_animation_delay: 10 # more authors are revealed on click using animation; smaller delay means faster animation
-
-
-# -----------------------------------------------------------------------------
-# Jekyll Link Attributes
-# -----------------------------------------------------------------------------
-
-# These are the defaults
-external_links:
- enabled: true
- rel: external nofollow noopener
- target: _blank
- exclude:
-
-
-# -----------------------------------------------------------------------------
-# Responsive WebP Images
-# -----------------------------------------------------------------------------
-
-imagemagick:
- enabled: true # enables responsive images for your site (recomended, see https://github.com/alshedivat/al-folio/issues/537)
- widths:
- - 480
- - 800
- - 1400
- input_directories:
- - assets/img/
- input_formats:
- - ".jpg"
- - ".jpeg"
- - ".png"
- - ".tiff"
- output_formats:
- webp: "-resize 800x"
-
-# -----------------------------------------------------------------------------
-# Jekyll Diagrams
-# -----------------------------------------------------------------------------
-
-jekyll-diagrams:
- # configuration, see https://github.com/zhustec/jekyll-diagrams.
- # feel free to comment out this section if not using jekyll diagrams.
-
-
-# -----------------------------------------------------------------------------
-# Optional Features
-# -----------------------------------------------------------------------------
-
-enable_google_analytics: false # enables google analytics
-enable_panelbear_analytics: false # enables panelbear analytics
-enable_google_verification: false # enables google site verification
-enable_bing_verification: false # enables bing site verification
-enable_masonry: true # enables automatic project cards arangement
-enable_math: true # enables math typesetting (uses MathJax)
-enable_tooltips: false # enables automatic tooltip links generated
- # for each section titles on pages and posts
-enable_darkmode: true # enables switching between light/dark modes
-enable_navbar_social: false # enables displaying social links in the
- # navbar on the about page
-enable_project_categories: true # enables categorization of projects into
- # multiple categories
-enable_medium_zoom: true # enables image zoom feature (as on medium.com)
-enable_progressbar: true # enables a horizontal progress bar linked to the vertical scroll position
-
-# -----------------------------------------------------------------------------
-# Library versions
-# -----------------------------------------------------------------------------
-
-academicons:
- version: "1.9.1"
- integrity: "sha256-i1+4qU2G2860dGGIOJscdC30s9beBXjFfzjWLjBRsBg="
-bootstrap:
- version: "4.6.1"
- integrity:
- css: "sha256-DF7Zhf293AJxJNTmh5zhoYYIMs2oXitRfBjY+9L//AY="
- js: "sha256-fgLAgv7fyCGopR/gBNq2iW3ZKIdqIcyshnUULC4vex8="
-fontawesome:
- version: "5.15.4"
- integrity: "sha256-mUZM63G8m73Mcidfrv5E+Y61y7a12O5mW4ezU3bxqW4="
-jquery:
- version: "3.6.0"
- integrity: "sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4="
-mathjax:
- version: "3.2.0"
-masonry:
- version: "4.2.2"
- integrity: "sha256-Nn1q/fx0H7SNLZMQ5Hw5JLaTRZp0yILA/FRexe19VdI="
-mdb:
- version: "4.20.0"
- integrity:
- css: "sha256-jpjYvU3G3N6nrrBwXJoVEYI/0zw8htfFnhT9ljN3JJw="
- js: "sha256-NdbiivsvWt7VYCt6hYNT3h/th9vSTL4EDWeGs5SN3DA="
-medium_zoom:
- version: "1.0.8"
- integrity: "sha256-7PhEpEWEW0XXQ0k6kQrPKwuoIomz8R8IYyuU1Qew4P8="
diff --git a/_data/coauthors.yml b/_data/coauthors.yml
deleted file mode 100644
index 8ed5212..0000000
--- a/_data/coauthors.yml
+++ /dev/null
@@ -1,34 +0,0 @@
-"Adams":
- - firstname: ["Edwin", "E.", "E. P.", "Edwin Plimpton"]
- url: https://en.wikipedia.org/wiki/Edwin_Plimpton_Adams
-
-"Podolsky":
- - firstname: ["Boris", "B.", "B. Y.", "Boris Yakovlevich"]
- url: https://en.wikipedia.org/wiki/Boris_Podolsky
-
-"Rosen":
- - firstname: ["Nathan", "N."]
- url: https://en.wikipedia.org/wiki/Nathan_Rosen
-
-"Bach":
- - firstname: ["Johann Sebastian", "J. S."]
- url: https://en.wikipedia.org/wiki/Johann_Sebastian_Bach
-
- - firstname: ["Carl Philipp Emanuel", "C. P. E."]
- url: https://en.wikipedia.org/wiki/Carl_Philipp_Emanuel_Bach
-
-"Przibram":
- - firstname: ["Karl"]
- url: https://link.springer.com/article/10.1007/s00016-019-00242-z
-
-"Schrödinger":
- - firstname: ["Erwin"]
- url: https://en.wikipedia.org/wiki/Erwin_Schr%C3%B6dinger
-
-"Lorentz":
- - firstname: ["Hendrik Antoon"]
- url: https://en.wikipedia.org/wiki/Hendrik_Lorentz
-
-"Planck":
- - firstname: ["Max"]
- url: https://en.wikipedia.org/wiki/Max_Planck
diff --git a/_data/cv.yml b/_data/cv.yml
deleted file mode 100644
index 6d3e187..0000000
--- a/_data/cv.yml
+++ /dev/null
@@ -1,116 +0,0 @@
-- title: General Information
- type: map
- contents:
- - name: Full Name
- value: Bui Cao Doanh
- - name: Date of Birth
- value: 15th March 2001
- - name: Languages
- value: Vietnamese, English
-
-- title: Education
- type: time_table
- contents:
- - title: Master of Science
- institution: Department of Electrical Engineering, Korea University.
- year: 2023-Ongoing
- description:
- - Major: Computer Engineering.
- - title: Bachelor of Science
- institution: Faculty of Computer Science, University of Information Technology, VNU-HCM.
- year: 2019-2022
- description:
- - Major: Computer Science.
- - Thesis: Text-based Image Captioning using Deep Learning (10/10).
- - Area of specialty: computer vision, image processing, deep learning, image captioning.
- - GPA: 8.97/10.
-
-- title: Experience
- type: time_table
- contents:
- - title: Teaching Assistant
- institution: Faculty of Software Engineering, University of Information Technology, VNU-HCM.
- year: Nov 2022 - Feb 2023
- description:
- - I am assigned to lecture students in practice credits of the Introduction to Programming course. In Semester 1 of the academic year 2023
- - Scientific researching
-
-- title: Language proficiency
- type: time_table
- contents:
- - title: IETLS 6.5 (English)
- year: 2022
- description: Reading (6.5), Listening (6.5), Writing (6.5), Speaking (5.5)
- - title: TOEIC 720 (English)
- year: 2020
-
-- title: Honors and Awards
- type: time_table
- contents:
- - year: 2022
- items:
- - Certificate of Merit for Good Achievement in Scientific Research in 2022.
- - year: 2021
- items:
- - Advanced youth follow Uncle Ho's words in the field of Learning - Creativity – Scientific Research.
- - Certificate of Merit from the President of VNU for students whose articles have been published in prestigious international journals of the industry, indexed by ISI.
- - Certificate of Participation in the final round of Student Scientific Research Prize.
- - year: 2020
- items:
- - Certificate of Merit for Good Achievement in Scientific Research in 2020.
- - Certificate of Participation of Student Scientific Research Prize.
-
-- title: Scientifc Projects
- type: time_table
- contents:
- - title: Object detection on aerial images based on random cropping data augmentation method
- year: 2021-2022
- description:
- - Description: The research focus on exploring data augmentation techniques to boost the performance of object detection methods on aerial images.
- - Location: Ho Chi Minh City, Vietnam.
- - Type: Student Scientific Research Project.
- - Client: Faculty of Computer Science, University of Information Technology, VNU-HCM
- - Role: Principal Investigator.
-
- - title: An approach to the problem of recognizing vietnamese receipts
- year: 2021-2022
- description:
- - Description: This project aims to propose an effective approach that extracts information from Vietnamese receipts. Four types of information are interested in this project including seller, address, total cost, and timestamp.
- - Location: Ho Chi Minh City, Vietnam.
- - Type: Scientific Research Project University-level.
- - Client: University of Information Technology, VNU-HCM.
- - Role: Participant.
- - Position Researcher.
-
- - title: Detecting objects in image documents using deep learning networks
- year: 2021-Ongoing
- description:
- - Description: This project aims to explore the performance of advanced object detectors in page object detection problems. Besides, the project also proposes an object detection method to improve the performance of the UIT-DODV dataset.
- - Location: Ho Chi Minh City, Vietnam.
- - Type: Scientific Research Project VNU-HCM C-level.
- - Client: Vietnam National University Ho Chi Minh city.
- - Role: Participant.
- - Position Researcher.
-
- - title: Face emotion recognition using deep learning methods
- year: 2020-2021
- description:
- - Description: This project aims to fine-tune and propose the CNN model for facial emotion recognition, which is modeled as an emotion classification problem.
- - Location: Ho Chi Minh City, Vietnam.
- - Type: Student Scientific Research Project.
- - Client: Faculty of Computer Science, University of Information Technology, VNU-HCM.
- - Role: Principal Investigator.
-
-- title: Skills and Supporting Tools
- type: list
- contents:
- - Coding: C/C++ (proficient, 2+ years), Python (proficient, +3 years), Javascript.
- - Computer Vision: OpenCV, NVIDIA CUDA.
- - Machine Learning: Sklearn, TensorFlow, PyTorch, Pandas, Seaborn, Matplotlib, Flask, FlaskAPI.
- - Server: Linux, Bash, Docker.
-
-
-- title: Other Interests
- type: list
- contents:
- - Hobbies: Research, Playing guitar with Bui Quang Duy, my closest friend. I also want to listen to Minh Triet, my superior friend.
\ No newline at end of file
diff --git a/_data/repositories.yml b/_data/repositories.yml
deleted file mode 100644
index e771114..0000000
--- a/_data/repositories.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-github_users:
- - caodoanh2001
-
-github_repos:
diff --git a/_data/venues.yml b/_data/venues.yml
deleted file mode 100644
index 6c16ad5..0000000
--- a/_data/venues.yml
+++ /dev/null
@@ -1,6 +0,0 @@
-"AJP":
- url: https://aapt.scitation.org/journal/ajp
- color: "#00369f"
-
-"PhysRev":
- url: https://journals.aps.org/
diff --git a/_includes/cv/list.html b/_includes/cv/list.html
deleted file mode 100644
index 7562585..0000000
--- a/_includes/cv/list.html
+++ /dev/null
@@ -1,5 +0,0 @@
-
- {% for content in entry.contents %}
-
{{ content }}
- {% endfor %}
-
\ No newline at end of file
diff --git a/_includes/cv/map.html b/_includes/cv/map.html
deleted file mode 100644
index e0d1983..0000000
--- a/_includes/cv/map.html
+++ /dev/null
@@ -1,8 +0,0 @@
-
- {% for content in entry.contents %}
-
-
{{ content.name }}
-
{{ content.value }}
-
- {% endfor %}
-
\ No newline at end of file
diff --git a/_includes/cv/nested_list.html b/_includes/cv/nested_list.html
deleted file mode 100644
index 4778aca..0000000
--- a/_includes/cv/nested_list.html
+++ /dev/null
@@ -1,14 +0,0 @@
-
- {% for content in entry.contents %}
-
-
{{ content.title }}
- {% if content.items %}
-
- {% for subitem in content.items %}
-
{{ subitem }}
- {% endfor %}
-
- {% endif %}
-
- {% endfor %}
-
\ No newline at end of file
diff --git a/_includes/cv/time_table.html b/_includes/cv/time_table.html
deleted file mode 100644
index 123b9d0..0000000
--- a/_includes/cv/time_table.html
+++ /dev/null
@@ -1,59 +0,0 @@
-
- {% for content in entry.contents %}
-
-
- {% if content.year %}
-
-
- {{ content.year }}
-
-
- {% endif %}
-
- {% if content.title %}
-
{{content.title}}
- {% endif %}
- {% if content.institution %}
-
{{content.institution}}
- {% endif %}
- {% if content.description %}
-
- {% for item in content.description %}
-
- {% if item.contents %}
- {{ item.title }}
-
- {% for subitem in item.contents %}
-
{{ subitem }}
- {% endfor %}
-
- {% else %}
- {{ item }}
- {% endif %}
-
- {% endfor %}
-
- {% endif %}
- {% if content.items %}
-
- {% for item in content.items %}
-
- {% if item.contents %}
- {{ item.title }}
-
- {% for subitem in item.contents %}
-
{{ subitem }}
- {% endfor %}
-
- {% else %}
- {{ item }}
- {% endif %}
-
- {% endfor %}
-
- {% endif %}
-
-
-
- {% endfor %}
-
\ No newline at end of file
diff --git a/_includes/disqus.html b/_includes/disqus.html
deleted file mode 100644
index 73fe953..0000000
--- a/_includes/disqus.html
+++ /dev/null
@@ -1,13 +0,0 @@
-
- {{ year }}
- {%- if tags != "" %}
- ·
- {% for tag in page.tags -%}
-
- {{ tag }}
- {% endfor -%}
- {% endif %}
-
- {%- if categories != "" %}
- ·
- {% for category in page.categories -%}
-
- {{ category }}
- {% endfor -%}
- {% endif %}
-
-
-
-
-
- {{ content }}
-
-
- {%- if site.disqus_shortname and page.disqus_comments -%}
- {% include disqus.html %}
- {%- endif %}
- {%- if site.giscus.repo and page.giscus_comments -%}
- {% include giscus.html %}
- {%- endif -%}
-
-
diff --git a/_news/announcement_cmpb.md b/_news/announcement_cmpb.md
deleted file mode 100644
index e11e45b..0000000
--- a/_news/announcement_cmpb.md
+++ /dev/null
@@ -1,17 +0,0 @@
----
-layout: post
-title: One paper has been accepted by Computer Methods and Programs in Biomedicine (IF = 6.1)
-date: 2024-03-02 00:00:00
-description: Congratulations! Our paper "DAX-Net - a dual-branch dual-task adaptive cross-weight feature fusion network for robust multi-class cancer classification in pathology images" has been accepted in Computer Methods and Programs in Biomedicine (IF = 6.1)
-tags: formatting links
-categories: sample-posts
-inline: false
----
-
-We are pleased to announce that our paper titled "DAX-Net: A Dual-Branch Dual-Task Adaptive Cross-Weight Feature Fusion Network for Robust Multi-Class Cancer Classification in Pathology Images" has been accepted by Computer Methods and Programs in Biomedicine **(IF = 6.1)**.
-
-
-
-This is the study I conducted during my pursuit of a master's degree under the supervision of Prof. Jin Tae Kwak.
-
-The code, manuscript, and datasets will be released soon!
diff --git a/_news/announcement_hyundai.md b/_news/announcement_hyundai.md
deleted file mode 100644
index 6402961..0000000
--- a/_news/announcement_hyundai.md
+++ /dev/null
@@ -1,21 +0,0 @@
----
-layout: post
-title: I am accepted as the final recipient of the Hyundai Global Fellowship program!
-date: 2022-01-27 16:40:00
-description: Hyundai Motor Chung Mong-koo Scholarship
-tags: formatting links
-categories: sample-posts
-inline: false
----
-
-I am pleased to announce that I am selected as the final recipient of the Hyundai Global Fellowship program.
-
-This scholarship has a big coverage.
-- Full tuition fee (including entrance fee)
-- Learning support fee (1,000,000won per month)
-- Settlement allowance (only 1 time when I enter the school)
-- Graduation celebration incentive (only 1 time when graduate).
-
-In the 2023 Spring semester, I will pursue a Master’s degree in Computer Engineering at Korea University, Korea, with full support from this scholarship!
-
-Thank you for reading.
\ No newline at end of file
diff --git a/_news/announcement_miccai2024.md b/_news/announcement_miccai2024.md
deleted file mode 100644
index 13eb1b5..0000000
--- a/_news/announcement_miccai2024.md
+++ /dev/null
@@ -1,19 +0,0 @@
----
-layout: post
-title: One paper has been accepted by MICCAI2024
-date: 2024-06-17 00:00:00
-description: One paper has been accepted by MICCAI2024
-tags: formatting links
-categories: sample-posts
-inline: false
----
-
-## FALFormer: Feature-aware Landmarks self-attention for Whole-slide Image Classification
-*Doanh C. Bui, Trinh T. L. Vuong, Jin Tae Kwak*
-
-**Abstract:** Slide-level classification for whole-slide images (WSIs) has been widely recognized as a crucial problem in digital and computational pathology. Current approaches commonly consider WSIs as a bag of cropped patches and process them via multiple instance learning due to the large number of patches, which cannot fully explore the relationship among patches; in other words, the global information cannot be fully incorporated into decision making. Herein, we propose an efficient and effective slide-level classification model, named as FALFormer, that can process a WSI as a whole so as to fully exploit the relationship among the entire patches and to improve the classification performance. FALFormer is built based upon Transformers and self-attention mechanism. To lessen the computational burden of the original self-attention mechanism and to process the entire patches together in a WSI, FALFormer employs Nystrom self-attention which approximates the computation by using a smaller number of tokens or landmarks. For effective learning, FALFormer introduces feature-aware landmarks to enhance the representation power of the landmarks and the quality of the approximation. We systematically evaluate the performance of FALFormer using two public datasets, including CAMELYON16 and TCGA-BRCA. The experimental results demonstrate that FALFormer achieves superior performance on both datasets, outperforming the state-of-the-art methods for the slide-level classification. This suggests that FALFormer can facilitate an accurate and precise analysis of WSIs, potentially leading to improved diagnosis and prognosis on WSIs.
-
-
-
-This work was conducted under the supervision of Prof. Jin Tae Kwak during my master's degree.
-Paper and code will be released soon!
diff --git a/_news/announcement_prl.md b/_news/announcement_prl.md
deleted file mode 100644
index d0cbc4e..0000000
--- a/_news/announcement_prl.md
+++ /dev/null
@@ -1,30 +0,0 @@
----
-layout: post
-title: One paper has been accepted by Pattern Recognition Letters (IF = 5.1)
-date: 2023-09-26 00:00:00
-description: Congratulations! Improving Human-object Interaction with Auxiliary Semantic Information and Enhanced Instance Representation has been accepted by Pattern Recognition Letters (IF = 5.1)
-
-tags: formatting links
-categories: sample-posts
-inline: false
----
-
-Our study **"Improving Human-object Interaction with Auxiliary Semantic Information and Enhanced Instance Representation"** has been accepted to be published by "**Pattern Recognition Letters" (SCI, Q1, IF = 5.1).**
-I want to give special thanks to Thinh V. Le and Huyen Nguyen for their efforts in this work. This study is also the result of undergraduate thesis of Thinh & Huyen. This study is also on collaboration with UIT-Together Research Group.
-In this work, we propose three key modules: Enhanced Interaction Pointers (EIP), Semantic-guided (SG) and Multi-level cross-attention (MCA) based on the HOTR model to improve itself for human-object interaction (HOI) problem.
-
-Authorship contribution statement:
-- Khang Nguyen: Project administration, Supervision, Idea confirmation.
-- Thinh V. Le: Implementation (Idea implementation, feature extraction, training & evaluation on two benchmarks: V-COCO and HICO-DET), Writing – review & editing
-- Huyen Nguyen: Writing (specially focus on linguistic aspects) – review & editing
-- **Doanh C. Bui**: Conceptualization (EIP, SG, MCA), Implementation (only support Thinh V. Le), Writing – review & editing
-
-
-
-We will publish our source code and checkpoints for this study soon!
-
-**P/s**: I really appreciate the efforts of two undergraduate students: Thinh V. Le and Huyen Nguyen, who were working with me when we were all undergraduate students, to complete this study, specially Thinh. Thinh is a hard-working student. His self-study ability, knowledge, and coding are very good. Most of works of implementation in this study are done by him. I hope that in the future, I will have chance to continue to do research with Thinh. And I wish he will continue to develop himself, leverage all chances coming to him, to become an excellent student in the future! Huyen Nguyen also showed her effort and performed co-working ability pretty well, I also believe that she will achieve further achievements in the future.
-
-**P/s 2**: We all know that papers are just the results of researching period, and they are not that all, they are just some milestones. We should continue to try our best in the academic career, to bring not only theorical but also practical research to the community. There is a long road to go for achieving this.
-
-Thank you for reading!
diff --git a/_news/announcement_tcsvt.md b/_news/announcement_tcsvt.md
deleted file mode 100644
index 3c5c2a4..0000000
--- a/_news/announcement_tcsvt.md
+++ /dev/null
@@ -1,17 +0,0 @@
----
-layout: post
-title: One paper has been accepted by IEEE Transactions on Circuits and Systems for Video Technology (IF = 8.4)
-date: 2024-03-06 00:00:00
-description: Congratulations! Our paper "Transformer-based Spatio-Temporal Unsupervised Traffic Anomaly Detection in Aerial Videos" has been accepted by IEEE Transactions on Circuits and Systems for Video Technology (IF = 8.4)
-tags: formatting links
-categories: sample-posts
-inline: false
----
-
-We are pleased to announce that our paper titled "Transformer-based Spatio-Temporal Unsupervised Traffic Anomaly Detection in Aerial Videos" has been accepted by IEEE Transactions on Circuits and Systems for Video Technology **(IF = 8.4)**.
-
-Authors: Tung Minh Tran, Doanh C. Bui, Tam V. Nguyen, and Khang Nguyen. This paper is the result of a joint project between myself and Dr. Tung Minh Tran (University of Information Technology, VNU-HCM), Prof. Tam V. Nguyen (University of Dayton), and Prof. Khang Nguyen (University of Information Technology, VNU-HCM).
-
-In this paper, we present a Transformer-based method for unsupervised anomaly detection in the context of traffic at roundabouts. The full manuscript and code will be released soon!
-
-
diff --git a/_news/announcement_thompson b/_news/announcement_thompson
deleted file mode 100644
index 29f92e2..0000000
--- a/_news/announcement_thompson
+++ /dev/null
@@ -1,11 +0,0 @@
----
-layout: post
-title: One paper has been accepted by MICCAI2023-Thompson (1st Place in Track 2 - Visual Question Answering)
-date: 2024-02-05 00:00:00
-description: Congratulations! Our paper "QuIIL at T3 challenge - Towards Automation in Life-Saving Intervention Procedures from First-Person View" has been accepted by MICCAI2023-Thompson workshop.
-tags: formatting links
-categories: sample-posts
-inline: false
----
-
-
diff --git a/_news/announcement_tmi.md b/_news/announcement_tmi.md
deleted file mode 100644
index 13f59c1..0000000
--- a/_news/announcement_tmi.md
+++ /dev/null
@@ -1,16 +0,0 @@
----
-layout: post
-title: One paper has been accepted by IEEE Transactions on Medical Imaging (IF = 8.9)
-date: 2024-07-25 00:00:00
-description: One paper has been accepted by IEEE Transactions on Medical Imaging (IF = 8.9)
-tags: formatting links
-categories: sample-posts
-inline: false
----
-
-## Spatially-constrained and -unconstrained bi-graph interaction network for multi-organ pathology image classification
-*Doanh C. Bui, Boram Song, Kyungeun Kim, and Jin Tae Kwak*
-
-
-
-This work was conducted under the supervision of Prof. Jin Tae Kwak during my master's degree.
diff --git a/_news/announcement_uitopenviic.md b/_news/announcement_uitopenviic.md
deleted file mode 100644
index 56c953e..0000000
--- a/_news/announcement_uitopenviic.md
+++ /dev/null
@@ -1,13 +0,0 @@
----
-layout: post
-title: UIT-OpenViIC - An Open-domain Benchmark for Evaluating Image Captioning in Vietnamese (Under review)
-date: 2023-07-04 13:50:00
-description: (Under review) UIT-OpenViIC - An Open-domain Benchmark for Evaluating Image Captioning in Vietnamese
-tags: formatting links
-categories: sample-posts
-inline: false
----
-
-Our collaborative project titled "UIT-OpenViIC: An Open-domain Benchmark for Evaluating Image Captioning in Vietnamese" is currently under review for the first round. The paper involves the joint efforts of BSc. Nghia Hieu Nguyen.
-
-
\ No newline at end of file
diff --git a/_news/announcement_upar.md b/_news/announcement_upar.md
deleted file mode 100644
index 5ae176c..0000000
--- a/_news/announcement_upar.md
+++ /dev/null
@@ -1,23 +0,0 @@
----
-layout: post
-title: One paper has been accepted by WACVW (1st Place in Track 1 - UPAR challenge 2024)
-date: 2023-11-23 00:00:00
-description: Congratulations! 1st Place in Track 1 - UPAR challenge 2024 at WACV2024-RWS Workshop
-tags: formatting links
-categories: sample-posts
-inline: false
----
-
-We are thrilled to announce our outstanding achievement, securing the 1st position in Track 1 of the UPAR Challenge at the WACV2024-RWS Workshop. Our accomplishment is attributed to the development of an advanced AI-based solution addressing the crucial task of pedestrian attribute recognition, with significant implications for applications such as tracking and retrieval.
-
-Meet our dedicated team:
-
-1. Doanh C. Bui (Leader): Master's student at the School of Electrical Engineering, Korea University
-2. Thinh V. Le: Undergraduate researcher at the University of Information Technology, VNU-HCM
-3. Hung Ba Ngo: Postdoctoral researcher at the Graduate School of Data Science, Chonnam National University
-
-
-
-Furthermore, we are honored to share that our paper presenting this groundbreaking solution, titled "C2T-Net: Cross-Fused Transformer-Style Networks for Pedestrian Attribute Recognition," has been accepted, and we will be delivering an oral presentation at the WACV2024-RWS Workshop. This recognition underscores the innovation and impact of our work in advancing the field of pedestrian attribute recognition.
-
-Please check our published source code [here](https://github.com/caodoanh2001/upar_challenge).
diff --git a/_pages/about.md b/_pages/about.md
deleted file mode 100644
index 8b2e96f..0000000
--- a/_pages/about.md
+++ /dev/null
@@ -1,23 +0,0 @@
----
-layout: about
-title: about
-permalink: /
-subtitle: University of Information Technology. Ho Chi Minh city, Vietnam.
-subtitle: QuIIL, School of Electrical and Engineering, Korea University. Seoul, Republic of Korea.
-
-profile:
- align: right
- image: prof_pic.jpg
- image_circular: false # crops the image to make it circular
- address: >
-
Seoul, Republic of Korea
-
-news: true # includes a list of news items
-selected_papers: true # includes a list of papers marked as "selected={true}"
-social: true # includes social icons at the bottom of the page
----
-
-I am Doanh C. Bui, a Bachelor of Computer Science graduate from the University of Information Technology (UIT), VNU-HCM. I completed my degree in September 2022. For a brief period, from November 2022 to February 2023, I served as a teaching assistant at the Faculty of Software Engineering, UIT. Currently, I am pursuing a master's degree in the School of Electrical Engineering at Korea University, where I am in my third semester, under the supervision of Prof. Jin Tae Kwak.
-
-Throughout my academic journey, I have focused on various aspects of Computer Vision, specifically in areas such as Object Detection, Document Image Understanding, Image Captioning, and Human-Object Interaction. Presently, my research revolves around leveraging image processing techniques for histopathology images.
-
diff --git a/_pages/cv.md b/_pages/cv.md
deleted file mode 100644
index cf7e53c..0000000
--- a/_pages/cv.md
+++ /dev/null
@@ -1,8 +0,0 @@
----
-layout: cv
-permalink: /cv/
-title: cv
-nav: true
-nav_order: 4
-cv_pdf: doanhbc-2022_CV.pdf
----
diff --git a/_pages/dropdown.md b/_pages/dropdown.md
deleted file mode 100644
index a4d670c..0000000
--- a/_pages/dropdown.md
+++ /dev/null
@@ -1,13 +0,0 @@
----
-layout: page
-title: submenus
-nav: false
-nav_order: 6
-dropdown: true
-children:
- - title: publications
- permalink: /publications/
- - title: divider
- - title: projects
- permalink: /projects/
----
\ No newline at end of file
diff --git a/_pages/dropdown/index.html b/_pages/dropdown/index.html
new file mode 100644
index 0000000..9bb636c
--- /dev/null
+++ b/_pages/dropdown/index.html
@@ -0,0 +1 @@
+ submenus | Doanh C. Bui
submenus
\ No newline at end of file
diff --git a/_pages/projects.md b/_pages/projects.md
deleted file mode 100644
index d31459b..0000000
--- a/_pages/projects.md
+++ /dev/null
@@ -1,58 +0,0 @@
----
-layout: page
-title: projects
-permalink: /projects/
-description: A growing collection of your cool projects.
-nav: false
-nav_order: 2
-display_categories: [work, fun]
-horizontal: false
----
-
-
-
-{%- if site.enable_project_categories and page.display_categories %}
-
- {%- for category in page.display_categories %}
-
\ No newline at end of file
diff --git a/_pages/repositories.md b/_pages/repositories.md
deleted file mode 100644
index c7d95b8..0000000
--- a/_pages/repositories.md
+++ /dev/null
@@ -1,30 +0,0 @@
----
-layout: page
-permalink: /repositories/
-title: repositories
-description: Edit the `_data/repositories.yml` and change the `github_users` and `github_repos` lists to include your own GitHub profile and repositories.
-nav: false
-nav_order: 3
----
-
-## GitHub users
-
-{% if site.data.repositories.github_users %}
-
- {% for user in site.data.repositories.github_users %}
- {% include repository/repo_user.html username=user %}
- {% endfor %}
-
- {% for repo in site.data.repositories.github_repos %}
- {% include repository/repo.html repository=repo %}
- {% endfor %}
-
-{% endif %}
diff --git a/_pages/teaching.md b/_pages/teaching.md
deleted file mode 100644
index f120901..0000000
--- a/_pages/teaching.md
+++ /dev/null
@@ -1,12 +0,0 @@
----
-layout: page
-permalink: /teaching/
-title: teaching
-description: Materials for courses you taught. Replace this text with your description.
-nav: false
-nav_order: 5
----
-
-For now, this page is assumed to be a static description of your courses. You can convert it to a collection similar to `_projects/` so that you can have a dedicated page for each course.
-
-Organize your courses by years, topics, or universities, however you like!
\ No newline at end of file
diff --git a/_plugins/external-posts.rb b/_plugins/external-posts.rb
deleted file mode 100644
index e4fd5eb..0000000
--- a/_plugins/external-posts.rb
+++ /dev/null
@@ -1,36 +0,0 @@
-require 'feedjira'
-require 'httparty'
-require 'jekyll'
-
-module ExternalPosts
- class ExternalPostsGenerator < Jekyll::Generator
- safe true
- priority :high
-
- def generate(site)
- if site.config['external_sources'] != nil
- site.config['external_sources'].each do |src|
- p "Fetching external posts from #{src['name']}:"
- xml = HTTParty.get(src['rss_url']).body
- feed = Feedjira.parse(xml)
- feed.entries.each do |e|
- p "...fetching #{e.url}"
- slug = e.title.downcase.strip.gsub(' ', '-').gsub(/[^\w-]/, '')
- path = site.in_source_dir("_posts/#{slug}.md")
- doc = Jekyll::Document.new(
- path, { :site => site, :collection => site.collections['posts'] }
- )
- doc.data['external_source'] = src['name'];
- doc.data['feed_content'] = e.content;
- doc.data['title'] = "#{e.title}";
- doc.data['description'] = e.summary;
- doc.data['date'] = e.published;
- doc.data['redirect'] = e.url;
- site.collections['posts'].docs << doc
- end
- end
- end
- end
- end
-
-end
diff --git a/_plugins/hideCustomBibtex.rb b/_plugins/hideCustomBibtex.rb
deleted file mode 100644
index 4a852fd..0000000
--- a/_plugins/hideCustomBibtex.rb
+++ /dev/null
@@ -1,15 +0,0 @@
- module Jekyll
- module HideCustomBibtex
- def hideCustomBibtex(input)
- keywords = @context.registers[:site].config['filtered_bibtex_keywords']
-
- keywords.each do |keyword|
- input = input.gsub(/^.*#{keyword}.*$\n/, '')
- end
-
- return input
- end
- end
-end
-
-Liquid::Template.register_filter(Jekyll::HideCustomBibtex)
diff --git a/_posts/2023-07-08-faster-rcnn.md b/_posts/2023-07-08-faster-rcnn.md
deleted file mode 100644
index 672f13f..0000000
--- a/_posts/2023-07-08-faster-rcnn.md
+++ /dev/null
@@ -1,645 +0,0 @@
----
-layout: post
-title: Faster R-CNN - Phương pháp phát hiện đối tượng 02 giai đoạn và lịch sử
-date: 2023-07-08 13:50:00
-description: Faster R-CNN - Phương pháp phát hiện đối tượng 02 giai đoạn và lịch sử
-tags: formatting links
-categories: sample-posts
-inline: false
----
-
-## Lời dẫn
-
-Phát hiện đối tượng là một trong các bài toán cơ sở của lĩnh vực Thị giác máy tính, và hiện vẫn được nghiên cứu rất sôi nổi. Mỗi năm, tại các hội nghị lớn như CVPR, ICCV, ECCV, ICLR đều xuất hiện các công bố liên quan đến bài toán này. Nhận thấy phát hiện đối tượng là bài toán quan trọng và là nền tảng giúp phát triển các bài toán khác trong thực tế, nhóm sinh viên lựa chọn và thực hiện tìm hiểu về bài toán này.
-
-## Các nghiên cứu trước khi có Faster R-CNN
-
-Hiện nay, các phương pháp phát hiện đối tượng được phân thành 02 loại: 02 giai đoạn và 01 giai đoạn. Đối với 01 giai đoạn sẽ được chia thành 02 nhánh phương pháp khác: anchor-free và anchor-based. Tuy nhiên, trong nội dung tiểu luận này, nhóm sinh viên chỉ tìm hiểu về phương pháp Faster R-CNN, và phương pháp này thuộc nhóm phương pháp 02 giai đoạn. Trước khi Faster R-CNN ra đời, đã có sự xuất hiện của 02 phương pháp: R-CNN và Fast R-CNN, trong đó Fast R-CNN là một cải tiến vô cùng hiệu quả của R-CNN, và Faster R-CNN là một bước phát triển lớn từ Fast R-CNN. Để trình bày Faster R-CNN, nhóm sinh viên sẽ nói lại sơ qua về phương pháp R-CNN và Fast R-CNN.
-
-### R-CNN
-
-Vào thời điểm trước khi nhóm phương pháp R-CNN ra đời, các phương pháp phát hiện đối tượng thường dựa vào đặc điểm của ảnh như màu sắc, và các thuật toán sử dụng mang hơi hướng phân cụm. R-CNN ra đời đánh dấu kỷ nguyên sử dụng kỹ thuật học sâu cho bài toán phát hiện đối tượng.
-
-![](https://i.imgur.com/wxFZHHH.png)
-Hình 1. Minh họa phương pháp R-CNN [1].
-
-Phương pháp này có thể được mô tả đơn giản như sau: đầu tiên thuật toán **selective search** sẽ chọn ra khoảng $N$ vùng trên ảnh có khả năng cao chứa đối tượng. Thuật toán này chủ yếu dựa vào các đặc điểm bức ảnh như màu sắc. Trong bài báo gốc, các tác giả sử dụng $$N = 2000$$, tức sẽ có $$2000$$ vùng được đề xuất trên ảnh. Từ 2000 vùng này, ta sẽ tiến hành cắt ra từ ảnh gốc, và một mạng CNN sẽ được sử dụng để trích xuất đặc trưng của 2000 vùng ảnh này. Sau đó, từ lớp đặc trưng cuối cùng sẽ đi qua 1 lớp FC để tính toán một bộ offset $$(\delta x, \delta y, \delta w, \delta h)$$, trong đó $$(\delta x, \delta y)$$ là offset tọa độ tâm của đối tượng, $$(\delta w, \delta h)$$ là offset chiều rộng và chiều cao của đối tượng. Như vậy, mạng sẽ học cách bo sát đối tượng và phân lớp đối tượng từ N vùng truyền vào ban đầu. Đối tượng sẽ được phân lớp bằng thuật toán SVM (Support Vector Machine).
-
-> Q: offset là gì?
-
-> A: offset gọi là phần bù. Tức là ban đầu selective search chọn ra 2000 vùng. 2000 vùng này đều có tọa độ (x, y, w, h). Tuy nhiên nó chưa bo sát đối tượng, ta cần một nhánh FC học cách bo sát, nhưng ta không học ra tọa độ chính xác, mà từ tọa độ ở selective search ta căn chỉnh lại, đó gọi là offset.
-
-Vậy ở đây chúng ta thấy điều gì? R-CNN phải thực hiện trích xuất đặc trưng cho $$2000$$ vùng ảnh, như thế rất tốn thời gian. Cuộc sống luôn phải vận động và phát triển, do đó Fast R-CNN ra đời để khắc phục điểm yếu chí mạng này của R-CNN.
-
-### Fast R-CNN
-
-Về cơ bản, Fast R-CNN vẫn giữ ý tưởng 02 giai đoạn của R-CNN. Selective Search vẫn được sử dụng để tìm 2000 vùng có khả năng chứa đối tượng, tuy nhiên điểm khác biệt ở đây là Fast R-CNN **trích xuất đặc trưng ảnh trước**, sau đó mới sử dụng selective search để tìm ra 2000 vùng đặc trưng. Do đó, ta chỉ cần đưa 2000 vùng đặc trưng này để tiếp tục xử lý mà không cần rút trích lại. Điều này là một bước ngoặt, vì nó đã tăng tốc độ xử lý lên rất nhiều ($$\times 18.3$$) cho huấn luyện và $$\times 146$$ cho suy luận) nhưng vẫn giữ được độ chính xác.
-
-![](https://i.imgur.com/ZBggmRI.png)
-Hình 2. Minh họa mô hình Fast R-CNN [2].
-
-Một điều cải tiến khác, Fast R-CNN không dùng SVM để phân lớp đối tượng nữa, mà tác giả gắn vào mạng một đầu FC để phân lớp. Tức là bây giờ chúng ta có 02 lớp FC, 1 lớp FC để phân lớp đối tượng, 1 lớp FC còn lại để tính toán bộ offset để căn chỉnh tọa độ đối tượng lại cho chính xác (giống như bên R-CNN).
-
-Cùng xem lại bảng kết quả so sánh giữa R-CNN và Fast R-CNN. Có thể thấy
-
-![](https://i.imgur.com/IrW35vU.png)
-
-Hình 3. Kết quả so sánh giữa Fast R-CNN và R-CNN [2].
-
-Hình 3 là hình chụp kết quả từ bài báo gốc của Fast R-CNN. Có thể thấy rằng Fast R-CNN có kết quả tương đương với R-CNN, nhưng tốc độ vượt trội hơn rất nhiều. Tuy nhiên ý tưởng sử dụng 1 lớp FC để phân lớp chỉ vượt trội ở việc phát hiện các đối tượng lớn (L), các loại đối tượng nhỏ (S), trung bình (M) có hiệu quả phát hiện tương đương như R-CNN. Tuy nhiên với tốc độ vượt trội thế này thì không có lý do gì phải dùng R-CNN nữa.
-
-Tuy nhiên, Fast R-CNN vẫn có điểm yếu chí mạng của nó. Đó là việc lựa chọn vùng đề xuất vẫn dựa vào thuật toán Selective Search. *Liệu có cách nào cải tiến chính xác hơn ở điểm này hay không? Một cách tiếp cận khác mà nó tự học để đề xuất luôn.*
-
-Trên đây nhóm sinh viên cung cấp một cái nhìn tương đối đầy đủ về hoàn cảnh ra đời của Faster R-CNN. Phần dưới đây nhóm sinh viên sẽ trình bày kỹ hơn về Faster R-CNN.
-
-## Faster R-CNN
-
-Khắc phục điểm yếu chí mạng của Fast R-CNN, Faster R-CNN ra đời với hai điểm nổi bật duy nhất:
-- Mạng đề xuất khu vực (Regional Proposal Network), gọi tắt là RPN. Mạng này được huấn luyện để phát hiện các vùng trên ảnh khả năng cao chứa đối tượng. Nói một cách đơn giản, RPN sẽ thay thế Selective Search.
-- Cơ chế chia sẻ trọng số giữa RPN và Fast R-CNN.
-
-Đơn giản dễ hiểu, Faster R-CNN là sự kết hợp của RPN và mạng Fast R-CNN đã trình bày ở phía trên. Sau đó các tác giả đã thử các cơ chế chia sẻ trọng số khác nhau để kết hợp hoàn hảo hai thứ này. Dưới đây chúng ta sẽ tìm hiểu kỹ về mạng đề xuất khu vực. Đáng chú ý, Faster R-CNN được công bố tại hội nghị NeurlPS, là một hội nghị có những công bố mang tính bước ngoặt. Vì lẽ đó, Faster R-CNN được coi là một bước ngoặt. Faster R-CNN không còn là một phương pháp, Faster R-CNN đã là một hệ tư tưởng khi nhắc về nhóm phương pháp 02 giai đoạn. Dưới đây nhóm sinh viên sẽ trình bày kỹ về mạng đề xuất khu vực, và cơ chế chia sẻ trọng số - những thứ làm nên thành công của Faster R-CNN.
-
-### Mạng đề xuất khu vực (Regional Proposal Network)
-
-Như đã nói, mạng đề xuất khu vực sẽ được dùng để đề xuất các vùng khả năng cao chứa đối tượng thay cho thuật toán Selective Search. Gọi nó là "mạng" vì nó có "học". Thế làm sao để chúng ta huấn luyện được mạng này?
-
-![](https://i.imgur.com/POeFrpv.png)
-
-Hình 4. Minh họa cách chọn mẫu của Faster R-CNN [3].
-
-Để huấn luyện được mạng RPN, chúng ta cần tạo dữ liệu cho nó học, cơ chế này được gọi là chọn mẫu (sampling). Để giải thích về cơ chế này, dễ nhất các bạn đọc quan sát Hình 4. Từ đặc trưng của ảnh (conv feature map), sẽ có một cửa sổ trượt có kích thước $$N \times N$$ (sliding window) trượt qua một cách lần lượt. Tại mỗi lần trượt, nó sẽ tạo ra $$k$$ anchor box.
-
-> Q: khoan khoan, dừng lại khoảng chừng là 2 giây. Anchor box là gì vậy?
-> A: anchor box là một khái niệm chỉ các "hộp neo" được định nghĩa trước, làm tiền đề cho các bước phía sau. Tại sao gọi là "hộp neo", vì nó sẽ tạm thời neo đậu, dựa vào các hộp neo đậu này mà bằng một cách nào đó chúng ta sẽ sử dụng nó để xác định đối tượng trên ảnh. Khái niệm này sẽ còn gặp lại ở các nhóm phương pháp 01 giai đoạn.
-
-$$k$$ anchor box có $$k$$ kích thước khác nhau, trong bài báo gốc, tác giả chọn $$k=9$$. Mỗi anchor box sẽ được gán 2 thứ:
-
-- Lớp nhị phân xác định nó có đối tượng hay không. Nếu anchor box đó được xác định là mẫu có chứa đối tượng, ta gán là $$1$$, ngược lại là $$0$$.
-- Tọa độ của anchor box, bao gồm 04 phần tử $$(x, y, w, h)$$.
-
-Thế thì làm sao chúng ta xác định được liệu 1 anchor box có chứa đối tượng hay không? Câu trả lời đơn giản là ta đi so với mẫu dữ liệu thật. Mỗi 1 anchor box sẽ được đi tính toán độ đo IoU với các hộp dự đoán thật (ground-truth), sau đó ta sẽ lấy giá trị IoU cao nhất của anchor box đó so với các ground-truth. Anchor box đó sẽ được chọn là mẫu $$1$$ khi $$IoU > 0.7$$, và chọn là mẫu $$0$$ khi $$IoU \leq 0.3$$. Vậy còn một đoạn từ $$(0.3, 0.7]$$ ta sẽ không chọn.
-
-Như vậy, bây giờ ta đã có một tập dữ liệu bao gồm các anchor box có đối tượng và anchor box không đối tượng cho mạng RPN học.
-
-Để huấn luyện ta cần định nghĩa một hàm mất mát tối ưu hóa đa mục tiêu: 1) xác định có hoặc không chứa đối tượng (phân lớp nhị phân); 2) hồi quy tọa độ. Hàm mất mát để huấn luyện RPN được định nghĩa như sau:
-
-$$L(\{p_i\}, \{t_i\}) = \frac{1}{N_{cls}} \sum_i L_{cls} (p_i, \hat p_i) + \lambda \frac{1}{N_{reg}} \sum_i \hat p_i L_{reg}(t_i, \hat t_i)$$
-
-Trong đó, $$L_{cls}$$ là hàm binary cross-entropy, còn $$L_{reg}$$ là hàm mất mát hồi quy $$SmoothL1$$; $$\hat p_i$$ là phân phối xác suất dự đoán hộp đề xuất có đối tượng hay không, $$p_i$$ là nhãn thật sự; $$\hat t_i$$ là tọa độ dự đoán đã được tham số hóa; $$t_i$$ là tọa độ thật đã được tham số hóa, $$t=\{t_x, t_y, t_w, t_h\}$$ và $$\hat t=\{\hat t_x, \hat t_y, \hat t_w, \hat t_h\}$$ được định nghĩa như sau:
-
-$$ t_x = (x - x_a) / w_a; \hat t_x = (\hat x - x_a) / w_a $$
-$$ t_y = (y - y_a) / h_a; \hat t_y = (\hat y - y_a) / h_a $$
-$$ t_w = \log (w / w_a); \hat t_w = \log (\hat w / w_a) $$
-$$ t_h = \log (h / h_a); \hat t_h = \log (\hat h / h_a) $$
-
-Trong đó, $$x$$, $$\hat x$$, $$x_a$$ lần lượt là hoành độ tâm thật sự của hộp bao, hoành độ tâm dự đoán của hộp bao và hoành độ tâm anchor box. $$y$$, $$\hat y$$, $$y_a$$ là tung độ tâm. Như thế ta có thể thấy, ở đây RPN không cố gắng để dự đoán các vị trí giống như hộp mỏ neo (vì nếu thế thì sử dụng hộp mỏ neo luôn cần gì học nữa), mà nó sẽ cố gắng dự đoán các vùng đề xuất lân cận các anchor box, mà tại đó có nhiều hộp bao ground-truth.
-
-Thực tế, RPN sinh ra rất nhiều hộp đề xuất, trong khi chúng ta chỉ cần $$N=2000$$ hộp đề xuất. Có nhiều hộp đề xuất ban đầu bị chồng lấp lên nhau, lúc này tác giả sử dụng thuật toán non maximum suppression (NMS) với ngưỡng $$IoU=0.7$$ để loại đi các hộp đề xuất chồng lấp, chỉ giữ lại $$2000$$ hộp đề xuất để đưa vào Fast R-CNN huấn luyện. Tuy nhiên, khi huấn luyện thì $$N=2000$$, trong khi đó lúc đánh giá (test) thì $$N$$ là một con số khác (nhỏ hơn 2000).
-
-### Cơ chế chia sẻ trọng số giữa RPN và Fast R-CNN (Sharing Convolutional Features)
-
-Việc huấn luyện RPN và Fast R-CNN được thực hiện độc lập chứ không end-to-end. Lý do của việc này rất dễ hiểu: rất khó để huấn luyện hai thứ này cùng một lúc. Fast R-CNN cần có một cơ chế sinh mẫu cố định (sinh ra các hộp đề xuất) để học, và bản thân Fast R-CNN cũng có một hàm tối ưu hóa tương tự như RPN (tổng của hàm mất mát phân lớp đối tượng và hàm mất mát hồi quy, nhưng hàm mất mát ở Fast R-CNN dùng cho đa lớp). Do đó không biế rằng nếu cơ chế sinh mẫu liên tục thay đổi (liên tục cập nhật trọng số lại ở RPN) thì mạng hợp nhất này có hội tụ được hay không. Do đó, tác giả đã đề xuất một cơ chế huấn luyện chia sẻ trọng số gồm 4 bước sau đây:
-
-- Bước 1: Huấn luyện RPN trước
-- Bước 2: Đóng băng trọng số ở RPN, sử dụng mạng RPN vừa học được sinh ra các vùng đề xuất cho mạng Fast R-CNN.
-- Bước 3: Dùng trọng số vừa học được ở mạng Fast R-CNN làm trọng số khởi tạo của mạng RPN ở các lớp tích chập (RPN và Fast R-CNN chia sẻ trọng số ở một số lớp tích chập), và chỉ fine-tune các lớp tích chập của riêng FPN và 2 lớp FC.
-- Bước 4: Đóng băng trọng số ở mạng RPN vừa học để sinh các mẫu cho Fast R-CNN, và chỉ fine-tune Fast R-CNN ở 2 lớp FC.
-
-### Kết quả so với Fast R-CNN
-
-![](https://i.imgur.com/cV1APRP.png)
-
-Hình 5. Kết quả so sánh giữa việc sử dụng RPN và thuật toán Selective Search [3].
-
-Có thể thấy, việc sử dụng thuật toán Selective Search cho kết quả thấp hơn khi sử dụng RPN. Hơn nữa, tốc độ xử lý của Fast R-CNN sử dụng RPN (Faster R-CNN) cũng nhanh hơn sử dụng thuật toán Selective Search. Vừa tốt hơn vừa nhanh hơn, Faster R-CNN đã trở thành một "hệ tư tưởng".
-
-## Hướng dẫn huấn luyện thử Faster R-CNN
-
-Faster R-CNN khá khó để có thể code from scratch. Do đó, trong nội dung bài viết này, nhóm sinh viên hướng dẫn bạn đọc cách huấn luyện thử một mô hình Faster R-CNN thông qua toolbox MMDetection [4].
-
-Lưu ý: source code được thực nghiệm trên Google Colab.
-
-Trong bài này, nhóm sinh viên sử dụng bộ dữ liệu UIT-VinaDeveS22 được cung cấp ở đây: https://github.com/nguyenvd-uit/uit-together-dataset/blob/main/UIT-VinaDeveS22.md
-
-UIT-VinaDeveS22 là bộ dữ liệu phát hiện phương tiện giao thông từ camera CCTV, các phương tiện trong bộ dữ liệu bao gồm: bicycle, motorcycle, car, van, truck, bus, fire truck.
-
-![](https://i.imgur.com/xZDJryF.png)
-Hình 6. Hình ảnh bộ dữ liệu UIT-VinaDeveS22
-
-### 1. Cài đặt thư viện
-
-Đầu tiên, chúng ta cần clone toolbox MMDetection từ Github về, sau đó cài đặt các thư viện cần thiết:
-
-
-- Bước 1.1: git clone thư mục code
-```[python3]
-!git clone https://github.com/open-mmlab/mmdetection
-```
-
-- Bước 1.2: cài đặt thư viện
-```
-# Cài đặt thư viện
-%cd mmdetection
-!pip install -r requirements.txt
-!pip install -v -e .
-!pip install mmcv-full==1.3.8 -f https://download.openmmlab.com/mmcv/dist/cu101/torch1.7.0/index.html
-!pip install torch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2
-```
-
-### 2. Import thư viện
-
-- Bước 2.1: ta import các thư viện liên quan cần dùng, ở đây chúng ta cần import `mmdet`, `mmcv`.
-
-```[python3]
-# Dùng để build config
-import mmdet
-from mmdet.apis import set_random_seed
-from mmcv import Config
-
-# Dùng để xây dựng dataset
-from mmdet.datasets import build_dataset
-from mmdet.models import build_detector
-from mmdet.apis import train_detector
-
-# Dùng để dự đoán
-from mmdet.apis import init_detector, inference_detector, show_result_pyplot
-import mmcv
-```
-
-### 3. Chuẩn bị dữ liệu
-
-Tải dữ liệu tại đây: https://drive.google.com/file/d/1NhsIWyPdqF2KDqPWU926eZwCLk0gtjnv/view?usp=sharing
-
-Ta có thể tải bằng lệnh sau:
-
-```
-!gdown --id 1NhsIWyPdqF2KDqPWU926eZwCLk0gtjnv
-```
-
-Sau khi tải, chúng ta giải nén dữ liệu bằng lệnh `unzip`
-
-```
-!unzip UIT-VinaDeveS22.zip
-```
-
-Bộ dữ liệu được tổ chức theo cấu trúc sau:
-
-```
-UIT-VinaDeveS22
-|__ images
-|____ *.jpg
-|__ outputtrain.json
-|__ outputvalid.json
-|__ outputtest.json
-```
-
-Thư mục `images` chứa toàn bộ ảnh của bộ dữ liệu. 3 file `ouputtrain.json`, `outputvalid.json` và `outputtest.json` là 3 file annotation đã được chuẩn bị theo định dạng MS-COCO ứng với 3 tập: train, valid, test.
-
-### 4. Chuẩn bị config
-
-Bước này khá quan trọng. Hiện tại MMDetection đã hỗ trợ cho chúng ta rất nhiều config của nhiều phương pháp SOTA cho phát hiện đối tượng hiện tại, lên tới vài chục phương pháp. Tuy nhiên, chúng ta chỉ sử dụng config dành cho Faster R-CNN.
-
-- Bước 4.1: Config trong MMDetection được thiết kế theo cơ chế kế thừa, tức là từ config chuẩn bị sẵn, chúng ta sẽ tinh chỉnh cho phù hợp với bộ dữ liệu của chúng ta. Đầu tiên ta cần xác định config cha mà chúng ta sẽ kế thừa
-
-```[python3]
-cfg = Config.fromfile('configs/faster_rcnn/faster_rcnn_r101_fpn_1x_coco.py')
-```
-
-`faster_rcnn_r101_fpn_1x_coco.py` là file config của phương pháp Faster R-CNN, sử dụng kiến trúc CNN ResNet-101 để trích xuất đặc trưng ảnh (là các lớp conv chung của mạng RPN và Fast R-CNN). Trong đó có sử dụng FPN (một cơ chế multi-scale feature map, tức là thay vì qua mạng CNN chỉ có 1 đầu ra thì nó sẽ có nhiều đầu ra với các resolution khác nhau).
-
-- Bước 4.2: Ta cần định nghĩa lại dữ liệu. MMDetection hỗ trợ các bộ dữ liệu sẵn có như COCO, sử dụng bộ dữ liệu khác ta cần định nghĩa lại các lớp. Tuy nhiên do cấu trúc bộ dữ liệu cũng giống như COCO, ta chỉ kế thừa nó về chỉnh lại các lớp sao cho phù hợp:
-
-```[python3]
-from mmdet.datasets.builder import DATASETS
-from mmdet.datasets import CocoDataset
-
-@DATASETS.register_module()
-class VinaDeveS22(CocoDataset):
- CLASSES = ('bicycle', 'motorcycle', 'car', 'van', 'truck', 'bus', 'fire truck')
-```
-
-- Bước 4.3: ta đặt đường dẫn cho tập dữ liệu, bao gồm đường dẫn ảnh, annotation cho tập train, test, valid:
-
-```[python3]
-# Đường dẫn dữ liệu
-import os
-data_root_dir = '/content/drive/MyDrive/BDL_UIT/UIT-VinaDeveS22/'
-
-# Chuẩn bị config
-
-cfg = Config.fromfile('configs/faster_rcnn/faster_rcnn_r101_fpn_1x_coco.py')
-
-# Modify dataset type and path
-cfg.data_root = data_root_dir
-
-cfg.data.test.type = 'VinaDeveS22'
-cfg.data.test.ann_file = os.path.join(data_root_dir, 'outputtest.json')
-cfg.data.test.img_prefix = os.path.join(data_root_dir, 'images')
-
-cfg.data.train.type = 'VinaDeveS22'
-cfg.data.train.ann_file = os.path.join(data_root_dir, 'outputtrain.json')
-cfg.data.train.img_prefix = os.path.join(data_root_dir, 'images')
-
-cfg.data.val.type = 'VinaDeveS22'
-cfg.data.val.ann_file = os.path.join(data_root_dir, 'outputvalid.json')
-cfg.data.val.img_prefix = os.path.join(data_root_dir, 'images')
-```
-
-- Bước 4.4: Một số cấu hình khác như số epoch để save checkpoint 1 lần, learning rate, đường dẫn lưu checkpoint, số lớp cần classify của mô hình, ...
-
-```[python3]
-# Một số cấu hình khác
-
-cfg.optimizer.lr = 0.02 / 8
-cfg.lr_config.warmup = None
-cfg.log_config.interval = 500
-
-# We can set the evaluation interval to reduce the evaluation times
-cfg.evaluation.interval = 1
-# We can set the checkpoint saving interval to reduce the storage cost
-cfg.checkpoint_config.interval = 3
-
-# Set seed thus the results are more reproducible
-cfg.seed = 0
-set_random_seed(0, deterministic=False)
-cfg.gpu_ids = range(1)
-
-# Số class
-cfg.model.roi_head.bbox_head.num_classes = 7
-
-# Đường dẫn lưu checkpoints
-cfg.work_dir = './checkpoints'
-```
-
-### 5. Xây dựng model và huấn luyện
-
-Ta tiến hành xây dựng mô hình dựa trên config đã chuẩn bị:
-
-```[python3]
-# Build dataset
-datasets = [build_dataset(cfg.data.train)]
-
-# Build the detector
-model = build_detector(cfg.model, train_cfg=cfg.get('train_cfg'), test_cfg=cfg.get('test_cfg'))
-# Add an attribute for visualization convenience
-model.CLASSES = ('bicycle', 'motorcycle', 'car', 'van', 'truck', 'bus', 'fire truck')
-```
-
-Tiến hành huấn luyện:
-
-```[python3]
-train_detector(model, datasets, cfg, distributed=False, validate=True)
-```
-
-Log khi huấn luyện:
-
-```
-2022-06-20 02:41:11,989 - mmdet - INFO - Start running, host: root@1aa12ebaa861, work_dir: /content/drive/MyDrive/LvThs_OCR/mmdetection/checkpoints
-2022-06-20 02:41:11,997 - mmdet - INFO - Hooks will be executed in the following order:
-before_run:
-(VERY_HIGH ) StepLrUpdaterHook
-(NORMAL ) CheckpointHook
-(NORMAL ) EvalHook
-(VERY_LOW ) TextLoggerHook
- --------------------
-before_train_epoch:
-(VERY_HIGH ) StepLrUpdaterHook
-(NORMAL ) EvalHook
-(NORMAL ) NumClassCheckHook
-(LOW ) IterTimerHook
-(VERY_LOW ) TextLoggerHook
- --------------------
-before_train_iter:
-(VERY_HIGH ) StepLrUpdaterHook
-(LOW ) IterTimerHook
- --------------------
-after_train_iter:
-(ABOVE_NORMAL) OptimizerHook
-(NORMAL ) CheckpointHook
-(NORMAL ) EvalHook
-(LOW ) IterTimerHook
-(VERY_LOW ) TextLoggerHook
- --------------------
-after_train_epoch:
-(NORMAL ) CheckpointHook
-(NORMAL ) EvalHook
-(VERY_LOW ) TextLoggerHook
- --------------------
-before_val_epoch:
-(NORMAL ) NumClassCheckHook
-(LOW ) IterTimerHook
-(VERY_LOW ) TextLoggerHook
- --------------------
-before_val_iter:
-(LOW ) IterTimerHook
- --------------------
-after_val_iter:
-(LOW ) IterTimerHook
- --------------------
-after_val_epoch:
-(VERY_LOW ) TextLoggerHook
- --------------------
-2022-06-20 02:41:11,999 - mmdet - INFO - workflow: [('train', 1)], max: 12 epochs
-loading annotations into memory...
-Done (t=0.01s)
-creating index...
-index created!
-[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] 173/173, 8.1 task/s, elapsed: 21s, ETA: 0s2022-06-20 02:44:30,061 - mmdet - INFO - Evaluating bbox...
-Loading and preparing results...
-DONE (t=0.15s)
-creating index...
-index created!
-Running per image evaluation...
-Evaluate annotation type *bbox*
-DONE (t=2.42s).
-Accumulating evaluation results...
-2022-06-20 02:44:33,060 - mmdet - INFO - Epoch(val) [1][327] bbox_mAP: 0.0060, bbox_mAP_50: 0.0200, bbox_mAP_75: 0.0010, bbox_mAP_s: 0.0090, bbox_mAP_m: 0.0060, bbox_mAP_l: 0.0000, bbox_mAP_copypaste: 0.006 0.020 0.001 0.009 0.006 0.000
-DONE (t=0.36s).
- Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.006
- Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=1000 ] = 0.020
- Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=1000 ] = 0.001
- Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=1000 ] = 0.009
- Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=1000 ] = 0.006
- Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=1000 ] = 0.000
- Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.029
- Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=300 ] = 0.029
- Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=1000 ] = 0.029
- Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=1000 ] = 0.050
- Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=1000 ] = 0.027
- Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=1000 ] = 0.000
-[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] 173/173, 8.0 task/s, elapsed: 21s, ETA: 0s2022-06-20 02:47:51,860 - mmdet - INFO - Evaluating bbox...
-Loading and preparing results...
-DONE (t=0.15s)
-creating index...
-index created!
-Running per image evaluation...
-Evaluate annotation type *bbox*
-DONE (t=2.47s).
-Accumulating evaluation results...
-2022-06-20 02:47:54,962 - mmdet - INFO - Epoch(val) [2][327] bbox_mAP: 0.0280, bbox_mAP_50: 0.0750, bbox_mAP_75: 0.0150, bbox_mAP_s: 0.0180, bbox_mAP_m: 0.0340, bbox_mAP_l: 0.0140, bbox_mAP_copypaste: 0.028 0.075 0.015 0.018 0.034 0.014
-DONE (t=0.40s).
- Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.028
- Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=1000 ] = 0.075
- Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=1000 ] = 0.015
- Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=1000 ] = 0.018
- Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=1000 ] = 0.034
- Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=1000 ] = 0.014
- Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.092
- Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=300 ] = 0.092
- Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=1000 ] = 0.092
- Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=1000 ] = 0.051
- Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=1000 ] = 0.071
- Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=1000 ] = 0.095
-2022-06-20 02:50:51,428 - mmdet - INFO - Saving checkpoint at 3 epochs
-[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] 173/173, 7.9 task/s, elapsed: 22s, ETA: 0s2022-06-20 02:51:15,654 - mmdet - INFO - Evaluating bbox...
-Loading and preparing results...
-DONE (t=0.02s)
-creating index...
-index created!
-Running per image evaluation...
-Evaluate annotation type *bbox*
-DONE (t=2.22s).
-Accumulating evaluation results...
-2022-06-20 02:51:18,523 - mmdet - INFO - Epoch(val) [3][327] bbox_mAP: 0.0970, bbox_mAP_50: 0.2000, bbox_mAP_75: 0.0800, bbox_mAP_s: 0.0340, bbox_mAP_m: 0.0750, bbox_mAP_l: 0.0900, bbox_mAP_copypaste: 0.097 0.200 0.080 0.034 0.075 0.090
-DONE (t=0.42s).
- Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.097
- Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=1000 ] = 0.200
- Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=1000 ] = 0.080
- Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=1000 ] = 0.034
- Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=1000 ] = 0.075
- Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=1000 ] = 0.090
- Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.158
- Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=300 ] = 0.158
- Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=1000 ] = 0.158
- Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=1000 ] = 0.084
- Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=1000 ] = 0.117
- Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=1000 ] = 0.161
-[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] 173/173, 8.1 task/s, elapsed: 21s, ETA: 0s2022-06-20 02:54:37,466 - mmdet - INFO - Evaluating bbox...
-Loading and preparing results...
-DONE (t=0.03s)
-creating index...
-index created!
-Running per image evaluation...
-Evaluate annotation type *bbox*
-DONE (t=2.27s).
-Accumulating evaluation results...
-2022-06-20 02:54:40,383 - mmdet - INFO - Epoch(val) [4][327] bbox_mAP: 0.0960, bbox_mAP_50: 0.2050, bbox_mAP_75: 0.0710, bbox_mAP_s: 0.0400, bbox_mAP_m: 0.0910, bbox_mAP_l: 0.0930, bbox_mAP_copypaste: 0.096 0.205 0.071 0.040 0.091 0.093
-DONE (t=0.41s).
- Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.096
- Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=1000 ] = 0.205
- Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=1000 ] = 0.071
- Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=1000 ] = 0.040
- Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=1000 ] = 0.091
- Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=1000 ] = 0.093
- Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.166
- Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=300 ] = 0.166
- Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=1000 ] = 0.166
- Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=1000 ] = 0.092
- Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=1000 ] = 0.152
- Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=1000 ] = 0.162
-[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] 173/173, 8.1 task/s, elapsed: 21s, ETA: 0s2022-06-20 02:57:58,671 - mmdet - INFO - Evaluating bbox...
-Loading and preparing results...
-DONE (t=0.14s)
-creating index...
-index created!
-Running per image evaluation...
-Evaluate annotation type *bbox*
-DONE (t=1.36s).
-Accumulating evaluation results...
-2022-06-20 02:58:00,468 - mmdet - INFO - Epoch(val) [5][327] bbox_mAP: 0.1600, bbox_mAP_50: 0.3140, bbox_mAP_75: 0.1440, bbox_mAP_s: 0.0670, bbox_mAP_m: 0.1430, bbox_mAP_l: 0.1490, bbox_mAP_copypaste: 0.160 0.314 0.144 0.067 0.143 0.149
-DONE (t=0.25s).
- Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.160
- Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=1000 ] = 0.314
- Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=1000 ] = 0.144
- Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=1000 ] = 0.067
- Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=1000 ] = 0.143
- Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=1000 ] = 0.149
- Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.238
- Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=300 ] = 0.238
- Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=1000 ] = 0.238
- Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=1000 ] = 0.125
- Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=1000 ] = 0.218
- Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=1000 ] = 0.232
-2022-06-20 03:00:58,010 - mmdet - INFO - Saving checkpoint at 6 epochs
-[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] 173/173, 7.6 task/s, elapsed: 23s, ETA: 0s2022-06-20 03:01:22,836 - mmdet - INFO - Evaluating bbox...
-Loading and preparing results...
-DONE (t=0.15s)
-creating index...
-index created!
-Running per image evaluation...
-Evaluate annotation type *bbox*
-DONE (t=1.80s).
-Accumulating evaluation results...
-2022-06-20 03:01:25,153 - mmdet - INFO - Epoch(val) [6][327] bbox_mAP: 0.2180, bbox_mAP_50: 0.4040, bbox_mAP_75: 0.2040, bbox_mAP_s: 0.1180, bbox_mAP_m: 0.2210, bbox_mAP_l: 0.1760, bbox_mAP_copypaste: 0.218 0.404 0.204 0.118 0.221 0.176
-DONE (t=0.31s).
- Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.218
- Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=1000 ] = 0.404
- Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=1000 ] = 0.204
- Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=1000 ] = 0.118
- Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=1000 ] = 0.221
- Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=1000 ] = 0.176
- Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.321
- Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=300 ] = 0.321
- Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=1000 ] = 0.321
- Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=1000 ] = 0.175
- Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=1000 ] = 0.347
- Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=1000 ] = 0.261
-[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] 173/173, 8.1 task/s, elapsed: 21s, ETA: 0s2022-06-20 03:04:44,056 - mmdet - INFO - Evaluating bbox...
-Loading and preparing results...
-DONE (t=0.02s)
-creating index...
-index created!
-Running per image evaluation...
-Evaluate annotation type *bbox*
-DONE (t=1.84s).
-Accumulating evaluation results...
-2022-06-20 03:04:46,289 - mmdet - INFO - Epoch(val) [7][327] bbox_mAP: 0.2310, bbox_mAP_50: 0.4290, bbox_mAP_75: 0.2300, bbox_mAP_s: 0.1720, bbox_mAP_m: 0.2770, bbox_mAP_l: 0.1790, bbox_mAP_copypaste: 0.231 0.429 0.230 0.172 0.277 0.179
-DONE (t=0.31s).
- Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.231
- Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=1000 ] = 0.429
- Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=1000 ] = 0.230
- Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=1000 ] = 0.172
- Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=1000 ] = 0.277
- Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=1000 ] = 0.179
- Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.369
- Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=300 ] = 0.369
- Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=1000 ] = 0.369
- Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=1000 ] = 0.256
- Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=1000 ] = 0.407
- Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=1000 ] = 0.306
-[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] 173/173, 8.0 task/s, elapsed: 22s, ETA: 0s2022-06-20 03:08:05,146 - mmdet - INFO - Evaluating bbox...
-Loading and preparing results...
-DONE (t=0.01s)
-creating index...
-index created!
-Running per image evaluation...
-Evaluate annotation type *bbox*
-DONE (t=1.78s).
-Accumulating evaluation results...
-2022-06-20 03:08:07,322 - mmdet - INFO - Epoch(val) [8][327] bbox_mAP: 0.2610, bbox_mAP_50: 0.4790, bbox_mAP_75: 0.2570, bbox_mAP_s: 0.1560, bbox_mAP_m: 0.2850, bbox_mAP_l: 0.2110, bbox_mAP_copypaste: 0.261 0.479 0.257 0.156 0.285 0.211
-DONE (t=0.31s).
- Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.261
- Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=1000 ] = 0.479
- Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=1000 ] = 0.257
- Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=1000 ] = 0.156
- Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=1000 ] = 0.285
- Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=1000 ] = 0.211
- Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.379
- Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=300 ] = 0.379
- Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=1000 ] = 0.379
- Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=1000 ] = 0.223
- Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=1000 ] = 0.392
- Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=1000 ] = 0.337
-2022-06-20 03:11:04,360 - mmdet - INFO - Saving checkpoint at 9 epochs
-[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] 173/173, 7.9 task/s, elapsed: 22s, ETA: 0s2022-06-20 03:11:28,443 - mmdet - INFO - Evaluating bbox...
-Loading and preparing results...
-DONE (t=0.01s)
-creating index...
-index created!
-Running per image evaluation...
-Evaluate annotation type *bbox*
-DONE (t=1.56s).
-Accumulating evaluation results...
-2022-06-20 03:11:30,381 - mmdet - INFO - Epoch(val) [9][327] bbox_mAP: 0.3230, bbox_mAP_50: 0.5630, bbox_mAP_75: 0.3410, bbox_mAP_s: 0.2510, bbox_mAP_m: 0.3380, bbox_mAP_l: 0.2390, bbox_mAP_copypaste: 0.323 0.563 0.341 0.251 0.338 0.239
-DONE (t=0.30s).
- Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.323
- Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=1000 ] = 0.563
- Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=1000 ] = 0.341
- Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=1000 ] = 0.251
- Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=1000 ] = 0.338
- Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=1000 ] = 0.239
- Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.442
- Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=300 ] = 0.442
- Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=1000 ] = 0.442
- Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=1000 ] = 0.365
- Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=1000 ] = 0.465
- Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=1000 ] = 0.375
-[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] 173/173, 8.0 task/s, elapsed: 22s, ETA: 0s2022-06-20 03:14:49,643 - mmdet - INFO - Evaluating bbox...
-Loading and preparing results...
-DONE (t=0.02s)
-creating index...
-index created!
-Running per image evaluation...
-Evaluate annotation type *bbox*
-DONE (t=1.56s).
-Accumulating evaluation results...
-2022-06-20 03:14:51,582 - mmdet - INFO - Epoch(val) [10][327] bbox_mAP: 0.3260, bbox_mAP_50: 0.5650, bbox_mAP_75: 0.3490, bbox_mAP_s: 0.2750, bbox_mAP_m: 0.3510, bbox_mAP_l: 0.2430, bbox_mAP_copypaste: 0.326 0.565 0.349 0.275 0.351 0.243
-DONE (t=0.29s).
- Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.326
- Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=1000 ] = 0.565
- Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=1000 ] = 0.349
- Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=1000 ] = 0.275
- Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=1000 ] = 0.351
- Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=1000 ] = 0.243
- Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.454
- Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=300 ] = 0.454
- Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=1000 ] = 0.454
- Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=1000 ] = 0.380
- Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=1000 ] = 0.470
- Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=1000 ] = 0.394
-[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] 173/173, 8.0 task/s, elapsed: 22s, ETA: 0s2022-06-20 03:18:11,238 - mmdet - INFO - Evaluating bbox...
-Loading and preparing results...
-DONE (t=0.14s)
-creating index...
-index created!
-Running per image evaluation...
-Evaluate annotation type *bbox*
-DONE (t=1.43s).
-Accumulating evaluation results...
-2022-06-20 03:18:13,126 - mmdet - INFO - Epoch(val) [11][327] bbox_mAP: 0.3320, bbox_mAP_50: 0.5600, bbox_mAP_75: 0.3570, bbox_mAP_s: 0.3060, bbox_mAP_m: 0.3600, bbox_mAP_l: 0.2460, bbox_mAP_copypaste: 0.332 0.560 0.357 0.306 0.360 0.246
-DONE (t=0.27s).
- Average Precision (AP) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.332
- Average Precision (AP) @[ IoU=0.50 | area= all | maxDets=1000 ] = 0.560
- Average Precision (AP) @[ IoU=0.75 | area= all | maxDets=1000 ] = 0.357
- Average Precision (AP) @[ IoU=0.50:0.95 | area= small | maxDets=1000 ] = 0.306
- Average Precision (AP) @[ IoU=0.50:0.95 | area=medium | maxDets=1000 ] = 0.360
- Average Precision (AP) @[ IoU=0.50:0.95 | area= large | maxDets=1000 ] = 0.246
- Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=100 ] = 0.457
- Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=300 ] = 0.457
- Average Recall (AR) @[ IoU=0.50:0.95 | area= all | maxDets=1000 ] = 0.457
- Average Recall (AR) @[ IoU=0.50:0.95 | area= small | maxDets=1000 ] = 0.370
- Average Recall (AR) @[ IoU=0.50:0.95 | area=medium | maxDets=1000 ] = 0.477
- Average Recall (AR) @[ IoU=0.50:0.95 | area= large | maxDets=1000 ] = 0.393
-```
-
-### Bước 6: Dự đoán trên ảnh mới
-
-Sau khi huấn luyện xong, ta thử dự đoán trên 01 ảnh mới. Giả sử nhóm sinh viên chọn ảnh `000000100.jpg` trong tập dữ liệu:
-
-```[python3]
-# Show thử 1 vài ảnh
-img = mmcv.imread('/content/drive/MyDrive/BDL_UIT/UIT-VinaDeveS22/images/000000100.jpg')
-
-model.cfg = cfg
-result = inference_detector(model, img)
-show_result_pyplot(model, img, result)
-```
-
-Hình ảnh đầu ra:
-
-![](https://i.imgur.com/jmucRnG.png)
-
-Một số hình ảnh khác:
-
-![](https://i.imgur.com/F9GZ2xY.jpg)
-
-![](https://i.imgur.com/lbUrtUY.png)
-
-![](https://i.imgur.com/M18xAF7.png)
-
-![](https://i.imgur.com/DnELxPD.png)
-
-![](https://i.imgur.com/0MXxOwt.jpg)
-
-
-
-## Tài liệu tham khảo
-
-[1]. Girshick, R., Donahue, J., Darrell, T., & Malik, J. (2014). Rich feature hierarchies for accurate object detection and semantic segmentation. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 580-587).
-
-[2]. Girshick, R. (2015). Fast r-cnn. In Proceedings of the IEEE international conference on computer vision (pp. 1440-1448).
-
-[3]. Ren, S., He, K., Girshick, R., & Sun, J. (2015). Faster r-cnn: Towards real-time object detection with region proposal networks. Advances in neural information processing systems, 28.
-
-[4]. Chen, K., Wang, J., Pang, J., Cao, Y., Xiong, Y., Li, X., ... & Lin, D. (2019). MMDetection: Open mmlab detection toolbox and benchmark. arXiv preprint arXiv:1906.07155.
diff --git a/_posts/2023-12-29-han-du-thi-tap.md b/_posts/2023-12-29-han-du-thi-tap.md
deleted file mode 100644
index ae29df4..0000000
--- a/_posts/2023-12-29-han-du-thi-tap.md
+++ /dev/null
@@ -1,285 +0,0 @@
----
-layout: post
-title: Hàn du thi tập
-date: 2023-12-29 00:00:00
-description: Tập thơ sáng tác tại Hàn
-tags: formatting links
-categories: sample-posts
-inline: false
----
-
-# Hàn du thi tập (Tập thơ sáng tác ở Hàn)
-
-## Lời nói đầu
-
-Kính chào quý bằng hữu,
-
-Tại hạ là Doanh (Công Danh), xin phép được gửi đến quý bằng hữu, những người cùng sở thích thi ca một tập thơ mà tại hạ đã sáng tác trong quá trình làm việc và sinh sống tại Thủ Nhĩ, Đại Hàn.
-
-Trong tập thơ này, tại hạ giới thiệu một số bài thơ mà tại hạ viết ở thể 5 chữ, hoặc 7 chữ, hoặc thơ 6-8. Tại hạ đặc biệt thích thể loại thơ 7 chữ, theo luật Đại Đường (thất ngôn tứ tuyệt Đường luật).
-
-Các bài thơ tại hạ viết chủ yếu có chủ đề về **nhân sinh** và **tình yêu**, và hầu hết được sáng tác vào lúc 1-2 giờ sáng, lúc mà tâm trạng dâng trào nhất. Về chủ đề **nhân sinh**, tại hạ thường viết về góc nhìn của mình về cuộc đời với tâm trạng hơi u tối một chút, nhưng đâu đó vẫn có màu tươi sáng. Về **tình yêu**, tại hạ thường viết về chủ đề mối tình đã lỡ. Câu cú có phần một chút trách móc, nhưng tiếc thương một mối tình đã lỡ, và da diết tôn trọng.
-
-Các bài thơ sẽ có các lỗi trong cách gieo vần, dùng từ. Nếu đọc thơ khiến các bằng hữu không thoải mái, tại hạ rất xin lỗi, và luôn đó nhận những lời góp ý.
-
-Mời quý bằng hữu thưởng thơ.
-
-Kính bút,
-
-Công Danh
-
-## Lập Thu Đại Hàn
-
-Lập thu nơi xóm nhỏ
-
-Cho nỗi niềm chơi vơi
-
-Đôi điều còn bỏ ngõ
-
-Tìm đâu phía chân trời.
-
-
-Công Danh, 6.9.2023
-
-## Cầu vồng tình lỡ
-
-Cầu vồng đẹp nhất sau mưa
-
-Ngày em đẹp nhất là vừa xa anh
-
-Buồn nào rồi cũng trôi nhanh
-
-Nhưng thành vết xẹo khó lành về sau
-
-
-Công Danh, 11.9.2023
-
-## Miền đất khác
-
-Một vệt nắng cuối trời
-
-Cho chiều buồn man mác
-
-Liệu một miền đất khác
-
-Có nỗi niềm chơi vơi?
-
-
-Công Danh, 12.9.2023
-
-## Lửa thủ đô
-
-*Bài thơ tỏ lòng tiếc thương cho các nạn nhân của một vụ cháy kinh hoàng ở thủ đô Hà Nội*
-
-Ở giữa lòng thủ đô
-
-Một màu buồn man mác
-
-Trời đêm mưa lác đác
-
-Lửa hóa kiếp hư vô...
-
-
-Công Danh, 14.9.2023
-
-## Tình tan
-
-Đượm nắng lập thu cuối chiều ta
-
-Niệm về ngày cũ vốn phôi pha
-
-Hoàng hôn chớm tắt, hồn vô ngã
-
-Chôn giấu tình tan, em với ta.
-
-
-Ánh mắt ai đậm đà
-
-Tiếng cười ai giòn giã,
-
-Tâm tư ai la cà
-
-Không phải em, là lá...
-
-
-Công Danh và Minh Niên, 20.9.2023
-
-## Hạnh phúc mới
-
-*Bài thơ được sáng tác từ bài hát Hạnh phúc mới, nhưng đổi vai hai nhân vật nam và nữ.*
-
-Ngày hôm nào em nói
-
-Mình chia tay thôi anh
-
-Nghe như lời trăn trối
-
-Gạt lệ buồn phai nhanh.
-
-
-Anh à, đừng buồn nữa
-
-Tình nào cũng thế thôi
-
-Hợp, yêu, tan, rồi mất
-
-Còn nỗi lòng đơn côi.
-
-
-Em đang ở đâu đó
-
-Để nỗi niềm chơi vơi
-
-Hồn em bay theo gió
-
-Tìm em cuối chân trời...
-
-
-Công Danh, 8.10.2023
-
-## Sài Gòn nhỏ
-
-*Bài thơ được sáng tác rất lâu, nhưng đến ngày này mới hoàn chỉnh*
-
-Có một Sài Gòn nhỏ
-
-Con phố đông người qua
-
-Có chuyến xe buýt nọ
-
-Từng chở cuộc tình ta.
-
-
-Ngày đôi mình chia xa,
-
-Hạ vẫn còn vương nắng
-
-Tình ngọt chợt thành đắng
-
-Chỉ còn dằm trong tim.
-
-
-Đôi mắt anh lim dim
-
-Mơ về ngày ngây dại
-
-Thấy em quay nhìn lại
-
-Như tình mình chưa phai.
-
-
-Công Danh, 12.10.2023
-
-## Cầu sông Hậu
-
-Nhớ về ngày cũ còn đâu,
-
-Bóng hình em gái hát câu gọi đò
-
-Ngân vang sông Hậu câu hò
-
-Giờ đây chẳng phải đi đò sang ngang
-
-Ai về Châu Đốc, An Giang,
-
-Qua cậu sông Hậu, gửi nàng yêu thương.
-
-
-Công Danh, 11.11.2023
-
-## Một kiếp người
-
-*Bài thơ sáng tác để tiếc thương cho một người bà của một người bạn đã mất.*
-
-Thoáng chốc là xong một kiếp người
-
-Hồng trần vướng bận cứ buông lơi
-
-Người đi về chốn hồn thanh thản
-
-Để lại ngàn năm nỗi đau đời.
-
-
-## Các bản dịch bài thơ nổi tiếng của William Shakespeare
-
-Ở phần này, tại hạ giới thiệu các bằng hữu bản dịch do tại hạ thực hiện cho một bài thơ nổi tiếng dưới phong cách của các nhà thơ lớn của thi văn Việt Nam.
-
-Bản gốc:
-
-> You say that you love rain, but you open your umbrella when it rains.
->
-> You say that you love the sun, but you find a shadow spot when the sun shines.
->
-> You say that you love the wind, but you close your windows when wind blows.
->
-> This is why I am afraid, you say that you love me too
-
-### Bản dịch phong cách Xuân Diệu:
-
-Em nói rất thích mưa
-
-Sao tìm dù mà tránh
-
-Em thích nhìn nắng hạ
-
-Sao đi tìm nơi râm.
-
-
-Em từng nói rằng em yêu gió lộng
-
-Vậy mà sao giờ chốt cửa cài then
-
-Chợt thổn thức, anh thẹn cười bẽn lẽn
-
-Thế thì còn... lời em nói yêu anh?
-
-
-### Bản dịch phong cách Hàn Mặc Tử:
-
-Sao em không còn yêu mưa nhỉ?
-
-Mà kéo dù lên tránh ướt mi
-
-Rồi kêu thích nắng, yêu hương Hạ
-
-Thế núp nơi râm là nghĩa gì?
-
-
-Em nói rằng yêu, gió vừa qua
-
-Thế sao cửa đóng, rèm bung ra?
-
-Bỗng nhiên anh thấy thật không ổn
-
-Ai biết tình em có đậm đà...
-
-
-### Bản dịch phong cách Tố Hữu:
-
-Từng nói yêu mưa, giờ khác lạ
-
-Rồi chợt mưa đến lấy ô ra
-
-Và em từng thì thầm yêu nắng
-
-Nắng rọi lên thì chẳng thiết tha.
-
-
-### Bản dịch phong cách Nguyễn Thị Hinh (Bà Huyện Thanh Quan):
-
-Nhớ nói trời mưa thích thế mà
-
-Chẳng mưa to mấy lấy ô ra
-
-Sao em muốn ngắm trời hừng nắng
-
-Nắng rọi lên cao lại núp nhà
-
-Ngắm gió mây làm em thích thích
-
-Bây giờ chốt cửa tránh xa xa
-
-Chợt sao thấy lạ lời em nói
-
-Thật giả tình yêu, em với ta.
-
diff --git a/_projects/1_project.md b/_projects/1_project.md
deleted file mode 100644
index 3f7cf78..0000000
--- a/_projects/1_project.md
+++ /dev/null
@@ -1,80 +0,0 @@
----
-layout: page
-title: project 1
-description: a project with a background image
-img: assets/img/12.jpg
-importance: 1
-category: work
----
-
-Every project has a beautiful feature showcase page.
-It's easy to include images in a flexible 3-column grid format.
-Make your photos 1/3, 2/3, or full width.
-
-To give your project a background in the portfolio page, just add the img tag to the front matter like so:
-
- ---
- layout: page
- title: project
- description: a project with a background image
- img: /assets/img/12.jpg
- ---
-
-
- Caption photos easily. On the left, a road goes through a tunnel. Middle, leaves artistically fall in a hipster photoshoot. Right, in another hipster photoshoot, a lumberjack grasps a handful of pine needles.
-
- This image can also have a caption. It's like magic.
-
-
-You can also put regular text between your rows of images.
-Say you wanted to write a little bit about your project before you posted the rest of the images.
-You describe how you toiled, sweated, *bled* for your project, and then... you reveal its glory in the next row of images.
-
-
-
- You can also have artistically styled 2/3 + 1/3 images, like these.
-
-
-
-The code is simple.
-Just wrap your images with `
` and place them inside `
` (read more about the Bootstrap Grid system).
-To make images responsive, add `img-fluid` class to each; for rounded corners and shadows use `rounded` and `z-depth-1` classes.
-Here's the code for the last row of images above:
-
-{% raw %}
-```html
-
-```
-{% endraw %}
diff --git a/_projects/2_project.md b/_projects/2_project.md
deleted file mode 100644
index bebf796..0000000
--- a/_projects/2_project.md
+++ /dev/null
@@ -1,80 +0,0 @@
----
-layout: page
-title: project 2
-description: a project with a background image
-img: assets/img/3.jpg
-importance: 2
-category: work
----
-
-Every project has a beautiful feature showcase page.
-It's easy to include images in a flexible 3-column grid format.
-Make your photos 1/3, 2/3, or full width.
-
-To give your project a background in the portfolio page, just add the img tag to the front matter like so:
-
- ---
- layout: page
- title: project
- description: a project with a background image
- img: /assets/img/12.jpg
- ---
-
-
- Caption photos easily. On the left, a road goes through a tunnel. Middle, leaves artistically fall in a hipster photoshoot. Right, in another hipster photoshoot, a lumberjack grasps a handful of pine needles.
-
- This image can also have a caption. It's like magic.
-
-
-You can also put regular text between your rows of images.
-Say you wanted to write a little bit about your project before you posted the rest of the images.
-You describe how you toiled, sweated, *bled* for your project, and then... you reveal its glory in the next row of images.
-
-
-
- You can also have artistically styled 2/3 + 1/3 images, like these.
-
-
-
-The code is simple.
-Just wrap your images with `
` and place them inside `
` (read more about the Bootstrap Grid system).
-To make images responsive, add `img-fluid` class to each; for rounded corners and shadows use `rounded` and `z-depth-1` classes.
-Here's the code for the last row of images above:
-
-{% raw %}
-```html
-
-```
-{% endraw %}
diff --git a/_projects/3_project.md b/_projects/3_project.md
deleted file mode 100644
index 3f3cbf7..0000000
--- a/_projects/3_project.md
+++ /dev/null
@@ -1,81 +0,0 @@
----
-layout: page
-title: project 3
-description: a project that redirects to another website
-img: assets/img/7.jpg
-redirect: https://unsplash.com
-importance: 3
-category: work
----
-
-Every project has a beautiful feature showcase page.
-It's easy to include images in a flexible 3-column grid format.
-Make your photos 1/3, 2/3, or full width.
-
-To give your project a background in the portfolio page, just add the img tag to the front matter like so:
-
- ---
- layout: page
- title: project
- description: a project with a background image
- img: /assets/img/12.jpg
- ---
-
-
- Caption photos easily. On the left, a road goes through a tunnel. Middle, leaves artistically fall in a hipster photoshoot. Right, in another hipster photoshoot, a lumberjack grasps a handful of pine needles.
-
- This image can also have a caption. It's like magic.
-
-
-You can also put regular text between your rows of images.
-Say you wanted to write a little bit about your project before you posted the rest of the images.
-You describe how you toiled, sweated, *bled* for your project, and then... you reveal its glory in the next row of images.
-
-
-
- You can also have artistically styled 2/3 + 1/3 images, like these.
-
-
-
-The code is simple.
-Just wrap your images with `
` and place them inside `
` (read more about the Bootstrap Grid system).
-To make images responsive, add `img-fluid` class to each; for rounded corners and shadows use `rounded` and `z-depth-1` classes.
-Here's the code for the last row of images above:
-
-{% raw %}
-```html
-
-```
-{% endraw %}
diff --git a/_projects/4_project.md b/_projects/4_project.md
deleted file mode 100644
index edb5dd2..0000000
--- a/_projects/4_project.md
+++ /dev/null
@@ -1,80 +0,0 @@
----
-layout: page
-title: project 4
-description: another without an image
-img:
-importance: 3
-category: fun
----
-
-Every project has a beautiful feature showcase page.
-It's easy to include images in a flexible 3-column grid format.
-Make your photos 1/3, 2/3, or full width.
-
-To give your project a background in the portfolio page, just add the img tag to the front matter like so:
-
- ---
- layout: page
- title: project
- description: a project with a background image
- img: /assets/img/12.jpg
- ---
-
-
- Caption photos easily. On the left, a road goes through a tunnel. Middle, leaves artistically fall in a hipster photoshoot. Right, in another hipster photoshoot, a lumberjack grasps a handful of pine needles.
-
- This image can also have a caption. It's like magic.
-
-
-You can also put regular text between your rows of images.
-Say you wanted to write a little bit about your project before you posted the rest of the images.
-You describe how you toiled, sweated, *bled* for your project, and then... you reveal its glory in the next row of images.
-
-
-
- You can also have artistically styled 2/3 + 1/3 images, like these.
-
-
-
-The code is simple.
-Just wrap your images with `
` and place them inside `
` (read more about the Bootstrap Grid system).
-To make images responsive, add `img-fluid` class to each; for rounded corners and shadows use `rounded` and `z-depth-1` classes.
-Here's the code for the last row of images above:
-
-{% raw %}
-```html
-
-```
-{% endraw %}
diff --git a/_projects/5_project.md b/_projects/5_project.md
deleted file mode 100644
index efd9b6c..0000000
--- a/_projects/5_project.md
+++ /dev/null
@@ -1,80 +0,0 @@
----
-layout: page
-title: project 5
-description: a project with a background image
-img: assets/img/1.jpg
-importance: 3
-category: fun
----
-
-Every project has a beautiful feature showcase page.
-It's easy to include images in a flexible 3-column grid format.
-Make your photos 1/3, 2/3, or full width.
-
-To give your project a background in the portfolio page, just add the img tag to the front matter like so:
-
- ---
- layout: page
- title: project
- description: a project with a background image
- img: /assets/img/12.jpg
- ---
-
-
- Caption photos easily. On the left, a road goes through a tunnel. Middle, leaves artistically fall in a hipster photoshoot. Right, in another hipster photoshoot, a lumberjack grasps a handful of pine needles.
-
- This image can also have a caption. It's like magic.
-
-
-You can also put regular text between your rows of images.
-Say you wanted to write a little bit about your project before you posted the rest of the images.
-You describe how you toiled, sweated, *bled* for your project, and then... you reveal its glory in the next row of images.
-
-
-
- You can also have artistically styled 2/3 + 1/3 images, like these.
-
-
-
-The code is simple.
-Just wrap your images with `
` and place them inside `
` (read more about the Bootstrap Grid system).
-To make images responsive, add `img-fluid` class to each; for rounded corners and shadows use `rounded` and `z-depth-1` classes.
-Here's the code for the last row of images above:
-
-{% raw %}
-```html
-
-```
-{% endraw %}
diff --git a/_projects/6_project.md b/_projects/6_project.md
deleted file mode 100644
index 9a95d6e..0000000
--- a/_projects/6_project.md
+++ /dev/null
@@ -1,80 +0,0 @@
----
-layout: page
-title: project 6
-description: a project with no image
-img:
-importance: 4
-category: fun
----
-
-Every project has a beautiful feature showcase page.
-It's easy to include images in a flexible 3-column grid format.
-Make your photos 1/3, 2/3, or full width.
-
-To give your project a background in the portfolio page, just add the img tag to the front matter like so:
-
- ---
- layout: page
- title: project
- description: a project with a background image
- img: /assets/img/12.jpg
- ---
-
-
- Caption photos easily. On the left, a road goes through a tunnel. Middle, leaves artistically fall in a hipster photoshoot. Right, in another hipster photoshoot, a lumberjack grasps a handful of pine needles.
-
- This image can also have a caption. It's like magic.
-
-
-You can also put regular text between your rows of images.
-Say you wanted to write a little bit about your project before you posted the rest of the images.
-You describe how you toiled, sweated, *bled* for your project, and then... you reveal its glory in the next row of images.
-
-
-
- You can also have artistically styled 2/3 + 1/3 images, like these.
-
-
-
-The code is simple.
-Just wrap your images with `
` and place them inside `
` (read more about the Bootstrap Grid system).
-To make images responsive, add `img-fluid` class to each; for rounded corners and shadows use `rounded` and `z-depth-1` classes.
-Here's the code for the last row of images above:
-
-{% raw %}
-```html
-