原创 先序遍歷、中序遍歷、後序遍歷的迭代寫法(python)

深度優選遍歷有三種形式,先序遍歷、中序、後序遍歷。我們一般是用遞歸寫的,因爲好寫也好理解。但偏偏在面試的時候,面試官可能要我們寫迭代的寫法。先序遍歷的迭代寫法很好寫。但是另外兩種就沒那種容易一下就寫出來的。 參考了leetcode

原创 圖像仿射的基本原理-旋轉變換、平移、縮放

旋轉是圖像處理的常用技巧。今天介紹一下旋轉,平移以及尺度放縮的基本原理。 點的旋轉 給定一個點P(x,y),以及一個角度θ\thetaθ,求逆時針旋轉θ\thetaθ之後新的點座標P′P'P′的位置。 我們用極座標表示P x=Rc

原创 LeetCode: 76.最小覆蓋子串

題目 給你一個字符串 S、一個字符串 T,請在字符串 S 裏面找出:包含 T 所有字符的最小子串。 示例: 輸入: S = “ADOBECODEBANC”, T = “ABC” 輸出: “BANC” 說明: 如果 S 中不存

原创 深度學習分類、識別等任務常用的餘弦距離和對應的PyTorch代碼

餘弦距離常常在人臉識別,圖像分類,行人重識別中應用。自從centerNet可視化了softmax loss之後,人們得知神經網絡的輸出空間原來是呈現原點向外發散狀,分類結果是可以通過判斷兩個樣本在輸出空間對應的向量之間的夾角來得知是否是同

原创 CGANS with projection discriminator論文實現細節

這是ICLR2018的一篇具有影響力的論文,和它的兄弟篇Spectral normalization 都是一個作者寫的,對GAN的發展具有挺大的影響,極大的穩定了gan的訓練,也是理論性很強的論文,有很多公式推導。這篇博客不會涉及

原创 SinGAN:Learning a generative Model from a Single Natural Image解讀(ICCV2019最佳論文)

昨天晚上看完了這篇論文。不得不說,這篇工作確實很棒,使用一個統一的模型,卻能解決很多視覺任務。而且方式也是很簡單,不需要設立各式各樣複雜的condition。 論文和項目地址 updated on 2019.12.2 我之前一直

原创 深度學習中的IOU計算方式和代碼實踐

IOU,全稱爲intersection of union, 中文名“交併比”。這個概念理解起來不難,本文將從原理以及代碼實踐來解讀IOU。 首先要說明的是,IOU在檢測領域和分割領域都有應用,但這兩個領域的IOU計算方式是不一樣的

原创 StyleGAN閱讀筆記和源碼閱讀

StyleGAN以Style爲名,有兩個含義:1. 借鑑在風格遷移中常用到的adain操作。2. 通過adain 把不同層次的樣式(style)embed到不同分辨率的特徵圖上,能夠影響不同層次(level)的生成圖像的樣式。高級

原创 CenterNet:Objects as Points論文解讀以及源碼分析

ICCV2019 官方源碼 梗概 CenterNet通過預測每個目標的中心點,既而以中心點爲基準進行迴歸寬和高,以及由於下采樣帶來的點的偏置。將目標檢測用關鍵點檢測的思路來做,拋棄了由anchor生成的大量需要被抑制的樣本,故而不

原创 SSD(Single Shot MultiBox Detector)中的框迴歸詳解(真的詳細!!!)

很多人都知道Anchor-based的目標檢測網絡按照階段來分有兩類,以RCNN爲代表的的二階段檢測和SSD,Yolo爲代表的一階段網絡。其中二階段網絡的RPN和一階段網絡的輸出,損失函數都有框迴歸的部分。本篇博客就詳細解釋框迴歸

原创 LeetCode: 718.最長重複子數組

題目 給兩個整數數組 A 和 B ,返回兩個數組中公共的、長度最長的子數組的長度。 凡是標定子樹組,就是數字必須連續。而子序列,則沒有這個要求。比如其他題目:最長迴文子序列,最長公共子序列,最長遞增子序列等等 解法 滑窗法 首

原创 LeetCode: 1143.最長公共子序列

題目 給定兩個字符串 text1 和 text2,返回這兩個字符串的最長公共子序列的長度。 一個字符串的 子序列 是指這樣一個新的字符串:它是由原字符串在不改變字符的相對順序的情況下刪除某些字符(也可以不刪除任何字符)後組成的新字

原创 LeetCode:698.劃分爲k個相等的子集

題目 給定一個整數數組 nums 和一個正整數 k,找出是否有可能把這個數組分成 k 個非空子集,其總和都相等。 思路 回溯:因爲每個元素都要用上,那取到和爲target的一組值,就設置total爲0重新取。遞歸終止條件是,當沒

原创 PointINS: Point-based Instance Segmentation論文解讀

前言 這應該是一篇正在投稿ECCV2020的實例分割論文。就我的眼光來看,應該是可以中的。從point-based 特徵出發,解決實例分割問題。其中的一些idea,和另一篇基於點的實例分割:AdaptIS有異曲同工之妙。關於Ada

原创 LeetCode: 217.存在重複的元素

給定一個整數數組,判斷是否存在重複元素。 如果任何值在數組中出現至少兩次,函數返回 true。如果數組中每個元素都不相同,則返回 false。 示例 1: 輸入: [1,2,3,1] 輸出: true 示例 2: 輸入: [1,2